BACHELORARBEIT. Schaffung technischer Grundlagen. mobiler Datenerfassung. Frau Franziska Frenzel

Größe: px
Ab Seite anzeigen:

Download "BACHELORARBEIT. Schaffung technischer Grundlagen. mobiler Datenerfassung. Frau Franziska Frenzel"

Transkript

1 BACHELORARBEIT Frau Franziska Frenzel Schaffung technischer Grundlagen für ein datenbankgestütztes Umfragesystem mit mobiler Datenerfassung Mittweida, 2014

2

3 Fakultät Mathematik/Naturwissenschaften/Informatik BACHELORARBEIT Schaffung technischer Grundlagen für ein datenbankgestütztes Umfragesystem mit mobiler Datenerfassung Autor: Frau Franziska Frenzel Studiengang: Bachelor Informatik Seminargruppe: IF10w1-B Erstprüfer: Prof. Dr. Ing. Mario Geißler Zweitprüfer: Prof. Klaus Liepelt Einreichung: Mittweida, 30. Juli 2014 Verteidigung/Bewertung: Mittweida, 2014

4

5 Bibliografische Beschreibung: Frenzel, Franziska: Schaffung technischer Grundlagen für ein datenbankgestütztes Umfragesystem mit mobiler Datenerfassung Seiten, 12 Abbildungen, 11 Tabellen Mittweida, Hochschule Mittweida, Fakultät Mathematik/Naturwissenschaft/Informatik, Bachelorarbeit, 2014 Referat: In der Hochschule Mittweida ist ein neues Projekt entstanden, welches sich mit dem Thema Smart City auseinandersetzt. Es soll ein System geschaffen werden, um informative Daten über die Verwendung von Verkehrsmitteln, zu beschaffen. In dieser Arbeit wird sich mit der Planung und Umsetzung dieses Systems beschäftigt.

6

7 Inhalt Inhalt... I Abbildungsverzeichnis... IV Tabellenverzeichnis... V Abkürzungsverzeichnis... VI 1 Einleitung Motivation Zielsetzung Abgrenzung Kapitelübersicht Architekturentwurf Lastenheft und Pflichtenheft UML Use-Case-Diagramme und -Beschreibungen Aktivitätsdiagramme Sequenzdiagramme Klassendiagramm Zusammenfassung Data Dictionary Webserver Webservices Grundlagen Was sind Webservices? Wozu dienen Webservices? Tomcat WSDL Beschreibungselemente und Aufbau einer WSDL-Datei Datenbanksystem Was ist eine Datenbank? Komponenten Inhalt I

8 3.2.3 Funktionen Website Android Anwendung Allgemeine Informationen Voraussetzungen Berechtigungen Installationsanleitung GPS Was ist GPS? Wie funktioniert GPS? Positionsbestimmung Genauigkeit Sensoren Übersicht Bewegungssensoren Umgebungssensoren Positionssensoren Koordinatensystem Quelltexte Android Anwendung Model View Control Sender DateiHandler Service SysService GPSGatherThread und SensorGatherThread Webserver Control Sender Model Geodaten Sensordaten Abschluss Resümee Ausblick II Inhalt

9 Glossar Literaturverzeichnis Anlagen Selbstständigkeitserklärung Inhalt III

10 Abbildungsverzeichnis Abbildung 2-1: UCD, entnommen aus dem Pflichtenheft... 6 Abbildung 2-2: Beispiel Aktivitätsdiagramm... 8 Abbildung 2-3: Beispiel Sequenzdiagramm... 9 Abbildung 2-4: Beispiel Klassendiagramm Abbildung 3-5: Aufbau einer WSDL- Datei [2] Abbildung 3-6: Grafische WSDL, generiert mit Eclipse Juno Abbildung 3-7: Aufbau eines Datenbanksystems [3] Abbildung 4-8: Android Verteilung, Stand 7. Juli 2014 [4] Abbildung 4-9: GPS-Koordinatensystem [5] Abbildung 4-10: Recht-Hand-Regel Abbildung 4-11: Koordinatensystem eines Smartphones [9] Abbildung 4-12: Koordinatensystem eines Tablets [7] IV Abbildungsverzeichnis

11 Tabellenverzeichnis Tabelle 2-1: Beispiel UCB... 7 Tabelle 2-2: Zusammenfassung von Integrationsdiagrammen von UML [1] Tabelle 2-3: Beispiel Data Dictionary Tabelle 3-4: Kleine Übersicht über enthaltene und nicht enthaltene Angaben in einem WSDL-Dokument Tabelle 4-5: Android Verteilung, Stand 7. Juli 2014 [4] Tabelle 4-6: Beeinflussungen des GPS Signals [6] Tabelle 4-7: Der Beschleunigungssensor Tabelle 4-8: Das Gyroskop Tabelle 4-9: Der Umgebungslichtsensor Tabelle 4-10: Das Magnetometer Tabelle 4-11: Der Näherungssensor Tabellenverzeichnis V

12 Abkürzungsverzeichnis API DCL DBS DBMS DDL DGPS DML EGNOS GAGAN GPS GLONASS ICS JPA MSAS MVC NAVSTAR SA SBAS SQL UCB UCD UML WAAS WSDL Application Programming Interface Data Control Language Database System / Datenbanksystem Database Management System / Datenbank Management System Data Definition Language Differential Global Positioning System Data Manipulation Language European Geostationary Navigation Overlay Service GPS Aided Geo Augmented Navigation Global Positioning System Global Navigation Satellite System Ice Cream Sandwich Java Persistance API Multi-functional Satellite Augmentation System Model-View-Control Navigational Satellite Timing and Ranging Selective Availability Satellite Based Augmentation Systems Structured Query Language Use-Case-Beschreibung Use-Case-Diagramm Undefined Modeling Language Wide Area Augmentation System Web Services Description Language VI Abkürzungsverzeichnis

13 1 Einleitung 1.1 Motivation Smart City ist derzeit hoch im Kurs. Aus diesem Grund wurde an der Hochschule Mittweida ein Projekt zu diesem Themenbereich gestartet. Mit einer Android-App sollen, in Kombination mit diversen Sensoren, Bewegungsdaten gesammelt werden. Anhand dieser Daten soll erkennbar werden, welche öffentlichen Verkehrsmittel genutzt werden und wieso diese benutzt werden. Die Daten sollen so auswertbar sein, dass man aus einem riesigen Netzwerk bestimmte Bewegungsmuster erkennen kann. Durch diese Analyse können anschließend Konzepte ausgearbeitet werden, um die Benutzung der öffentlichen Verkehrsmittel zu steigern. 1.2 Zielsetzung Ziel ist es nicht nur das Projekt umzusetzen und zu programmieren, sondern auch die Vorausplanung zu übernehmen. Das Projekt soll komplett durchgeplant werden, damit nachfolgende Programmierer leichteres Arbeiten haben. Dazu werden die Grundbedingungen geschaffen. Zum einen soll die App GPS Daten sammeln, zum anderen sollen etwaige Schnittstellen für die Sensoren geplant werden. Serverseitig muss ein Webservice eingerichtet werden, der die Daten in Empfang nimmt und in die Datenbank einsortiert. Die Einrichtung des Servers gehört ebenfalls zum Aufgabenbereich der Bachelorarbeit. 1.3 Abgrenzung In diesem Kapitel soll klar ersichtlich werden, welche Aufgaben im Rahmen der Bachelorarbeit erstellt wurden. Lastenheft Pflichtenheft UML-Dokumentation Hilfestellung bei der Erstellung dieses Dokumentes. Dieses wurde nicht nur für die persönlichen Aufgaben erstellt, sondern für das ganze Projekt. Abgrenzung der Aufgaben siehe unten. Vorplanung der einzelnen Funktionen für das gesamte Projekt, bestehend aus diversen Diagrammen und Beschreibungen. Einleitung 1

14 Code-Dokumentation Vollständige Dokumentation der Quelltexte, damit nachfolgende Programmierer ein leichteres Verständnis für die Arbeit besitzen. Das Pflichtenheft umfasst den gesamten Umfang des Projektes. In der Bachelorarbeit werden jedoch nur folgende Funktionen umgesetzt (Nummern wurden aus dem Pflichtenheft entnommen): App /PF 000/ App ausführen inkl. Tracking umgesetzt /PF 000/ UUID erstellen umgesetzt /PF 001/ Modus wechseln nicht berücksichtigt /PF 002/ Einstellungen nicht berücksichtigt /PF 010/ Mini-Umfrage herunterladen nicht berücksichtigt /PF 010/ Mini-Umfrage durchführen nicht berücksichtigt /PF 020/ Daten hochladen umgesetzt /PF 020/ Daten sichern geplant /PF 020/ Daten löschen geplant /PF 021/ Historie erweitern geplant Server /PF 030/ Mini-Umfrage erstellen nicht berücksichtigt /PF 030/ Mini-Umfrage bereitstellen nicht berücksichtigt /PF 040/ Speicherung der Daten umgesetzt /PF 050/ Roh-Daten Korrektur nicht berücksichtigt /PF 060/ Daten visualisieren nicht berücksichtigt /PF 070/ Historie erweitern geplant Die geplanten Funktionen konnten aus Zeitmangel nicht umgesetzt werden. Die Beschaffung des Servers an sich nahm zu viel Zeit in Anspruch. 1.4 Kapitelübersicht Kapitel 1 Als Einleitung der Arbeit, dient dieses Kapitel. Es wird genau erklärt, wieso dieses Projekt gestartet wurde. In der Zielsetzung kann nachgelesen werden, was nach Beendigung der Arbeit erwartet wurde. Den genauen Umfang der Arbeit erfährt man in den Abgrenzungskriterien. Kapitel 2 In der Regel fängt man nicht damit an ins Blaue drauf los zu programmieren. In der Praxis werden genaueste Planungen vollzogen. Unter anderem gehört die Erstellung eines Lastenheftes und Pflichtenheftes dazu. Der genaue Umfang der Planung wird in diesem Kapitel erklärt. Kapitel 3 Ein Teil des zu entwickelnden Systems ist der Webserver. Dieser verfügt über drei Komponenten auf denen in dem Kapitel genauer eingegangen wird. Jedoch ist es notwendig zusätzliche Fragen und Definitionen zu erklären. 2 Einleitung

15 Kapitel 4 Bei Android ist es sehr wichtig, sich Gedanken darüber zu machen, welche Funktionen man haben möchte. Durch die vielen Hersteller gleicht kein Gerät dem anderen. Das erschwert natürlich das Programmieren der App, damit sie auf allen Geräten läuft. Deshalb sollten einige Voraussetzungen gesetzt werden. Ebenfalls müssen die Berechtigungen klar erkenntlich sein. Zu viele unnötige Berechtigungen machen den Benutzer misstrauisch. Für das Verständnis wird in diesem Kapitel detailliert auf die Themen Verbaute Sensoren und GPS eingegangen. Kapitel 5 An diesem Projekt werden mehrere Personen beteiligt sein, unter anderem mehrere Programmierer. Aus diesem Grund ist es sehr wichtig, dass eine ausführliche Beschreibung der Quelltexte vorhanden ist, damit nachfolgende Programmierer keine unnötige Einarbeitungszeit benötigen. Kapitel 6 Nach einem kurzen Resümee über das Projekt folgt zur Abrundung dieser Arbeit auch ein Ausblick, wie dieses Projekt in Zukunft weitergeführt werden kann. Einleitung 3

16

17 2 Architekturentwurf Auf die Planung wurde ein besonderes Augenmerk gelegt, weshalb diesem Thema ein komplettes Kapitel gewidmet wurde. Erklärt wird der Unterschied zwischen Lastenheft und Pflichtenheft. Sowohl die Erklärungen zu den einzelnen Diagrammen und Beschreibungen in einer UML. 2.1 Lastenheft und Pflichtenheft Der Projektanfang beginnt mit dem Lastenheft. In diesem präzisiert der Auftraggeber den Projektauftrag genauer, denn in diesem Heft werden letztendlich alle Anforderungen, an das Projekt beschrieben und alle Rahmenbedingungen festgelegt. Die Antwort auf das Lastenheft, ist das Pflichtenheft. Dieses wird vom Auftragnehmer beschrieben. Es beschreibt sozusagen das Lastenheft genauer, da der Auftragnehmer mehr Kompetenz auf diesem Gebiet aufweisen kann und somit klare Richtlinien zur Projektumsetzung präzisieren kann. Somit ist das Pflichtenheft für beide Seiten rechtlich bindend. Die beiden Dokumente werden in der Vorplanung eines Projektes erstellt. Dadurch erhält man eine klare Linie, was letztendlich gemacht werden soll und wie man es umsetzen könnte. In dem Projekt zur Verkehrsstudie wurde sehr viel Wert auf diese Dokumente gelegt und somit reichlich Zeit hinein investiert. Damit zum einen der Auftraggeber sich im Klaren ist, was genau er sich unter dem Projekt vorzustellen hat und was er gerne erreichen möchte und zum anderen, damit nachfolgende beteiligte Personen wissen, was sie zu tun haben. Ebenso dient das Pflichtenheft als eine Art Aufgabenstellung für die Bachelorarbeit an sich, damit der Professor eine leichtere Übersicht bekommt. 2.2 UML Von Grady Booch, James Rumbaugh und Ivar Jacobson wurde, Mitte der 90er Jahre, diese Notation entwickelt, um objektorientierte Systeme grafisch zu modellieren. Um die Sachverhalte darstellen zu können, kommen verschiedenste Diagrammtypen zum Einsatz. Architekturentwurf 5

18 2.2.1 Use-Case-Diagramme und -Beschreibungen Dieser Diagrammtyp wird oftmals auch als Anwendungsfalldiagramm bezeichnet. In diesem werden Funktionen und Verhalten des Systems aus Sicht des Benutzers modelliert. Die Benutzer sind die sogenannten Akteure, die wie Strichmännchen dargestellt werden. Letztendlich soll man aus dem Diagramm ablesen können, welche Aufgaben und Funktionen ein Akteur ausführen kann und welche Folgen die Anwendungsfälle/Use-Cases nach sich ziehen. Abbildung 2-1: UCD, entnommen aus dem Pflichtenheft Anschließend muss noch jeder Use-Case beschrieben werden. In der Beschreibung werden unter anderem die Vorbedingungen und die Nachbedingungen genauesten beschrieben. Die Nachbedingungen werden noch detaillierter, indem beschrieben wird, was bei einem Erfolg und einem Fehlschlag geschieht. Je komplexer das System wird, desto komplizierter wird es, sich in einem Use-Case Diagramm zurecht zu finden, deshalb wird in die Beschreibung explizit der Akteur nochmal erwähnt. Für die spätere Planung ist es wichtig, in der Beschreibung genau zu erklären, was das Ziel des Use-Cases ist, durch welches Ereignis der Use-Case ausgelöst wird und welche Daten eingegeben werden. Im Standardablauf wird beschrieben, was der Nutzer machen muss um dieses Ereignis zu erreichen, wie zum Beispiel einen Button anzuklicken. 6 Architekturentwurf

19 Tabelle 2-1: Beispiel UCB 1 Use Case-Titel App ausführen inkl. Tracking und UUID erstellen 2 Ziel Die Anwendung soll auf dem Androidgerät gestartet werden. 3 Vorbedingung Nachbedingung Erfolg Überprüfen ob die UUID vorhanden ist. Wenn nein, dann erstellen. Sensordaten und Geodaten werden geloggt. Beim erstmaligen Starten werden META Daten, auf dem Smartphone, erstellt. Historie Eintrag, auf dem Smartphone, wird hinzugefügt (siehe /PF 021/). 4.2 Nachbedingung Fehlschlag App beendet sich Historie Eintrag, auf dem Smartphone, wird hinzugefügt (siehe /PF 021/). 5 Akteure Nutzer 6 Auslösendes Ereignis Proband nimmt an Studie teil 7 Eingabedaten Beschreibung (Standardablauf) 1. Proband tippt auf das App Icon 2. Nach dem Start kann diese App in den Hintergrund gelegt werden 8.2 Erweiterungen Alternativen - Architekturentwurf 7

20 2.2.2 Aktivitätsdiagramme In diesem Diagramm werden Prozesse bzw. Use-Cases detaillierter dargestellt, die Use- Case-Beschreibung im Aktivitätsdiagramm wird sozusagen visualisiert. Mittels SwimLanes wird zwischen verschiedenen Akteuren unterschieden. Nun wird auch das System in Betracht gezogen, da sehr viele Prozesse im Hintergrund ablaufen, die der Benutzer so nicht mitbekommt. Die Aktivitäten werden in abgerundeten Rechtecken dargestellt, welche in Form von Pfeilen miteinander verbunden werden und so eine Reihenfolge ersichtlich wird. Ein ausgemalter Kreis beschreibt immer den Start einer Funktion, während ein Kreis mit weißem Ring das Ende beschreibt. Bedingungen, Schleifen und Verzweigungen werden klar ersichtlich und helfen dem Programmierer, mögliche Fehlerursachen zu erkennen. Abbildung 2-2: Beispiel Aktivitätsdiagramm Sequenzdiagramme In Sequenzdiagrammen wird der Austausch von Botschaften zwischen Objekten und Klassen in zeitlicher Reihenfolge dargestellt. Die konkreten Abläufe von Use-Cases werden hier in festen Situationen visualisiert. Und somit können auch bedingte Botschaften, also Verzweigungen, dargestellt werden. 8 Architekturentwurf

21 Abbildung 2-3: Beispiel Sequenzdiagramm Klassendiagramm Ein häufig verwendetes Diagramm der UML ist das Klassendiagramm. In diesem werden Klassen mit ihren Attributen und Operationen dargestellt. Die Kommunikation unter den Klassen werden mittels Verbindungen dargestellt. Je nach Art der Kommunikation, sieht die Verbindung unterschiedlich aus, zum Beispiel wird die Vererbung mit Pfeilen, welche eine geschlossene Pfeilspitze besitzen, dargestellt. Architekturentwurf 9

22 Abbildung 2-4: Beispiel Klassendiagramm Zusammenfassung Tabelle 2-2: Zusammenfassung von Integrationsdiagrammen von UML [1] Diagramtyp Diese zentrale Frage beantwortet das Diagramm Stärken Use-Case-Diagramm Was leistet das System für seine Umwelt? Präsentiert die Außensicht auf das System. Geeignet zur Kontextabgrenzung. Hohes Abstraktionsniveau, einfache Notationsmittel. Aktivitätsdiagramm Wie läuft ein bestimmter Prozess oder ein Algorithmus ab? Sehr detaillierte Visualisierung von Abläufen mit Bedingungen, Schleifen, Verzweigungen. Parallelisierung und Synchronisation möglich. Darstellung von Datenflüs- 10 Architekturentwurf

23 sen. Sequenzdiagramm Welche Objekte tauschen mit welchen anderen Objekten Information in welcher Reihenfolge aus? Stellt detailliert den Informationsaustausch zwischen Objekten dar. Sehr präzise Darstellung der zeitlichen Abfolge auch mit Nebenlauffähigkeiten. Schachtelung und Flusssteuerung (Bedingungen, Schleifen, Verzweigungen) möglich Alle Diagramme bauen aufeinander auf. In jedem kann man Funktionen etc. aus einem anderen Diagramm wieder erkennen. 2.3 Data Dictionary Das Data Dictionary, kurz DD, kann man wie ein Inhaltsverzeichnis für Datenbankensysteme verstehen. Es hilft im Vorfeld der Planung sich über die Struktur der Datenbank im Klaren zu werden. Es wird also ersichtlich wie die Tabellen aufeinander aufgebaut sind und welche Beziehungen sie zueinander haben. Ebenfalls wird ersichtlich wie die einzelnen Datenbankfelder aufgebaut sind. Tabelle 2-3: Beispiel Data Dictionary FT-Nr. Name Datentyp Beschreibung/Kommentar /FT 999/ Geodaten/ID integer Laufende Nummer, immer von 1 beginnend /FT 100/ Geodaten/UUID varchar {Zeichen}36; GeräteID /FT 012/ Geodaten/DatumZeit datetime " :00:00" Datum und Uhrzeit des Tracks /FT 013/ Geodaten/gpsLatitude float Breitengrade /FT 014/ Geodaten/gpsLongitude float Längengrade /FT 015/ Geodaten/gpsAltitude float Höhengrade Architekturentwurf 11

24

25 3 Webserver Betrachtet man den Webserver, kann man sagen, dass dieser aus drei Komponenten besteht: Aus den Webservices, die die Daten in Empfang nehmen und sie anschließend werden diese in die Datenbank speichern. Um die Daten betrachten zu können, gibt es für den Forscher und Administratoren als dritte Komponente die Website. 3.1 Webservices Grundlagen Was sind Webservices? Dies sind Softwareanwendungen, die über ein Netzwerk direkte Maschine-zu-Maschine- Interaktionen bereit stellen. Zur eindeutigen Identifizierbarkeit besitzt jeder Webservice einen Uniform Ressource Identifier (URI). Um zu wissen, wie man mit dem Webservice interagieren kann, besitzt jeder Webservice zusätzlich eine Schnittstellenbeschreibung in maschinenlesbarem Format, zum Beispiel WSDL Wozu dienen Webservices? Die Webservices stellen eine Art Mauer vor der Datenbank dar. Könnten Anwendungen direkt auf die Datenbank zugreifen, wäre dies ein sehr hohes Sicherheitsrisiko, denn es könnten schnell Skripte geschrieben werden, die den Daten schaden können. Stattdessen greifen die Anwendungen auf die Webservices zu. Wenn beispielsweise ein Smartphone Daten an die Datenbank (Server) senden möchte, fängt der Webservice diese ab und kann sie in die Datenbank einsortieren Tomcat Tomcat 1 ist eine Open Source Erweiterung für Webserver, der neben Apache, eine Umgebung zur Ausführung von Java Code bereitstellt. Damit ist gegeben, dass in Java geschriebene Webservices auch ausführbar sind. 1 Internetseite: [24] Webserver 13

26 3.1.3 WSDL WSDL ist eine Beschreibungssprache für Netzwerkdienste, die auf XML basiert. Sie ist sowohl plattform-, programmiersprachen-, als auch protokollunabhängig. Als Metasprache können so angebotene Funktionen, Daten, Datentypen oder Austauschprotokolle für einen Webservice beschrieben werden. In einer WSDL-Datei werden von außen zugängliche Operationen definiert, inklusive die Parameter und Rückgabewerte dieser Operationen. Tabelle 3-4: Kleine Übersicht über enthaltene und nicht enthaltene Angaben in einem WSDL-Dokument Enthalten Angaben zu der Schnittstelle Zugangsprotokoll und Details zum Deployment Nicht enthalten sind Quality-of-Service-Informationen die Taxonomien/Ontologien zur semantischen Einordnung des Services allen notwendigen Informationen zum Zugriff auf den Service, in maschinenlesbarem Format Beschreibungselemente und Aufbau einer WSDL-Datei Eine WSDL-Datei ist streng hierarchisch aufgebaut, die wichtigsten Elemente sind: <type> <messages> Alle Datentypen, die in den nachfolgenden Nachrichten verwendet werden können, sind hier enthalten. Hier wird die abstrakte Definition der übertragenen Daten zusammengefasst. Beispiel: <wsdl:message name="senddataresponse"> <wsdl:part element="impl:senddataresponse" name="parameters"> </wsdl:part> </wsdl:message> <interface> <binding> Die Menge an Daten, die ein Service senden oder empfangen kann, wird hier beschrieben. Bei binding wird die Kommunikation zwischen Webservice und Client beschrieben. Es wird genau definiert welches Transportprotokoll verwendet werden soll und wie die Daten codiert werden sollen. 14 Webserver

27 <endpoint> <service> Die so genannten Zugangspunkte, über die sich ein Dienst erreichen lässt. Um den Webservice zu erreichen, wird hier die konkrete Adresse angegeben. Beispiel: <wsdl:service name="datensenderservice"> <wsdl:port binding="impl:datensendersoapbinding" name="datensender"> <wsdlsoap:address location= " </wsdl:port> </wsdl:service> <documentation> Eine Beschreibung des definierten Dienstes. Der Text ist frei wählbar, somit können weitere Angaben (z.b. Nutzung des Dienstes) gemacht werden. Abbildung 3-5: Aufbau einer WSDL- Datei [2] Auf diese Art und Weise kann eine einfache und standardisierte Kommunikation erfolgen; das ist durchaus von Vorteil. Jedoch kann die Syntax so komplex sein, dass sich die manuelle Erstellung mittels eines Texteditors als schwierig erweist. Es gibt jedoch einige kostenpflichtige und kostenfreie Editoren, die die WSDL sogar grafisch darstellen und generieren können. Webserver 15

28 Abbildung 3-6: Grafische WSDL, generiert mit Eclipse Juno 3.2 Datenbanksystem Was ist eine Datenbank? Dies ist ein System zur elektronischen Datenverwaltung. Es speichert nach einem bestimmten Schemata große Datenmengen. Ebenfalls kann es zur Anzeige und Verwaltung genutzt werden. Je nach Struktur und Anwendung, kann man zwischen relationalen, objektorientieren, objektrelationalen und verteilten Datenbanken unterscheiden Komponenten In der Regel besteht ein Datenbanksystem aus zwei Komponenten: Datenbankmanagementsystem kurz DBMS, sind hochkomplexe Softwaresysteme. Die Aufgaben eines DBMS sind: Datenbankmodell festzulegen, einen Großteil der Anforderungen/Funktionen zu sichern und über Funktionalität und Geschwindigkeit des Systems zu entscheiden. Die Wahl des DBMS ist eine kritische Entscheidung und sollte genauestens überlegt werden. Beispiele für DBMS sind: MySQL, SQLite, PostgreSQL, MS SQLl, Oracle Datenbank Als Datenbank versteht man einen logisch zusammengehörigen Datenbestand, der von einem laufenden DBMS verwaltet wird. Dieser Datenbestand wird, für Anwendungssysteme und Benutzer nicht sichtbar, auf einem nicht flüchtigen Speicher abgelegt. 16 Webserver

29 Abbildung 3-7: Aufbau eines Datenbanksystems [3] Funktionen Datensicherheit Die Daten werden auf einem Speichermedium gespeichert, zusätzlich werden Informationen über die Datenschemata und Zugriffsrechte von Benutzern gespeichert. Um die Datensicherheit zu garantiert, sind gerade die Zugriffsrechte von hoher Bedeutung, um keinen unerlaubten Zugriff zu gewähren. Um Datenverluste zu vermeiden, werden regelmäßige Backups empfohlen. Da während einem Backupprozess die Daten nur eingeschränkt modifizierbar sind, stellt das oft ein performance-problem in der Praxis da. Transaktionen Greift ein Benutzer auf die Daten zu, werden diese vorübergehen für andere blockiert. Würden mindestens zwei Benutzer gleichzeitig auf die Daten zugreifen wollen, könnten die Daten inkonsistent werden. Sobald eine Transaktion durch einen Commit beendet wurde oder Änderungen durch ein Rollback behoben wurden, sind die Daten für andere Transaktionen wieder verfügbar. Datenintegrität Durch Constraints kann die Integrität der Daten sichergestellt werden. Man kann dies als Regeln verstehen, die genau definieren, wie Daten verändert werden dürfen. Ein Beispiel wäre der Foreign Key Constraint, der sicherstellt, das Datensätze nicht gelöscht werden können, wenn eine andere Tabelle diese noch benötigt. Es können aber noch weitere Integritätsbedingungen definiert werden, beispielsweise ob Duplikate erlaubt sind. Anwendungsunterstützung Einige DBS bieten zur Unterstützung Trigger und Stored Procedures an. Ein Trigger lösst eine bestimmte Aktion in der Datenbank aus, sobald ein bestimmtes Ereignis eingetreten ist. Bei Stored Procedures können Skripte in der Datenbank ausgeführt werden; ein sehr effizienter Weg um Daten zu manipulieren. Wenn eine Datenbank diese Unterstützung anbietet, nennt man diese auch aktive Datenbank. Webserver 17

30 Sprachen Für einige Zwecke stellt das DBS eine Datenbanksprache zur Verfügung. Beispiele dafür sind: Datenabfrage und manipulation (DML), Verwaltung der Datenbank und Definition der Datenstrukturen (DDL) und Berechtigungssteuerung (DCL). In relationalen DBMS sind diese in einer Sprache vereint: SQL. Es existieren jedoch einige Systeme, die eine Trennung in Form unterschiedlicher Sprachen nutzen. Mehrbenutzbarkeit Dies beschreibt den quasi gleichzeitigen Zugriff mehrerer Benutzer. Jedoch ist dies kein echter gleichzeitiger Zugriff, denn der könnte die Daten eventuell beschädigen. Um dies umgehen zu können, müsste das DBS transaktionsorientiert arbeiten. Jedoch kann es dennoch zu Anomalien führen, weshalb Systemprotokolle geführt werden, um möglichen Fehlern auf den Grund gehen zu können. 3.3 Website Die Website wird das Hauptarbeitsmittel des Forschers werden. Mittels Login kann er sich auf diese Seite einloggen und bekommt eine Übersicht über die gesammelten Daten. Der Forscher bekommt die Möglichkeit die Daten zu bearbeiten, z.b. Fehlaufzeichnungen zu entfernen. Anschließend werden die Daten zusammen mit einer Landkarte visualisiert. Dadurch sollen Bewegungsmuster jeden Nutzers erkennbar gemacht werden. Zusätzlich sollte es möglich sein, die provisorischen Mini-Umfragen auf der Website generieren zu können. Eine Kommilitonin, die in diesem Projekt beteiligt ist, ist für die Erstellung der Website zuständig. Dementsprechend entsteht eine eigenständige Dokumentation, in welcher man den Fortschritt und Entwürfe nachlesen kann. 18 Webserver

31 4 Android Anwendung Letztendlich soll die App hauptsächlich mit den unterschiedlichsten Sensoren arbeiten. Das Problem ist aber, dass nicht jedes Gerät alle Sensoren eingebaut hat. Man sollte sich genau überlegen, welche Sensoren man sinnvoll einsetzten kann. 4.1 Allgemeine Informationen Voraussetzungen Mit der Zeit gibt es unzählige unterschiedliche Android Geräte. Im Gegensatz zu Apples iphone, gibt es bei Android keine klare Richtlinie. Jeder Hersteller baut seine eigenen Geräte zusammen, die sehr unterschiedlich sein können. Da Android Open Source ist, kann dazu jeder Hersteller seine eigenen Aufsätze implementieren, was es noch mehr erschwert seine App für jedes Gerät funktionsfähig zu machen. Aus diesem Grund müssen klare Voraussetzungen gesetzt werden. Die erste und wichtigste Voraussetzung ist, dass das Smartphone mindestens Android 4.0 ICS besitzt. Dafür gibt es viele Gründe: Google führte mit dieser Android Version eine einheitliche Richtlinie in Design und Funktionen ein. Es sind viele API-Funktionen hinzugekommen, die mit niederen Android Versionen nicht funktionieren. Da weniger als ein Viertel sämtlicher Android Nutzer niedrigere Versionen nutzen, kann man auf ältere Geräte keine Rücksicht mehr nehmen. Ein weiterer Grund für diese Entscheidung, sämtliche eingebauten Sensoren können erst ab Android 4.0 angesprochen werden. Einige Sensoren 2 können mit älteren Geräten also nicht genutzt werden, die aber wichtig für dieses Projekt sind. 2 Internetseite: [9] Android Anwendung 19

32 Tabelle 4-5: Android Verteilung, Stand 7. Juli 2014 [4] Version Codename API Distribution 2.2 Froyo 8 0,70% Gingerbread 10 13,50% Ice Cream Sandwich 15 11,40% 4.1.x Jelly Bean 16 27,80% 4.2.x Jelly Bean 17 19,70% 4.3 Jelly Bean 18 9,00% 4.4 KitKat 19 17,90% KitKat Froyo Gingerbread Ice Cream Sandwich Jelly Bean Abbildung 4-8: Android Verteilung, Stand 7. Juli 2014 [4] Berechtigungen Android ist so konzipiert, dass Berechtigungen im Android-Manifest festgelegt werden müssen. Fehlt die entsprechende Berechtigung, dann kann die Funktion nicht ausgeführt werden. Genauer und ungefährer Standort Diese Berechtigung sagt aus, dass der Nutzer erlaubt geortet zu werden, da die App die Geodaten des Nutzers ermitteln muss. Die Geodaten werden über GPS und das Netzwerk, also Internet, bestimmt. Internen Speicherinhalt verwalten Alle Daten werden im Internen Speicher in Dateien geschrieben, da die Daten nicht sofort an den Webserver übertragen werden können. Im Zusammenhang mit dieser Berechtigung gehört Zugriff auf geschützten Speicher testen dazu. Voller Netzwerkzugriff Damit die App die Daten an den Server senden darf, benötigt sie Internetzugriff, sowohl über WLAN als auch das Mobile-Funknetz. 20 Android Anwendung

33 4.1.3 Installationsanleitung Da diese App nicht im Google Play Store auffindbar ist, muss im Smartphone gestattet werden, Quellen von außerhalb zu installieren. Dazu muss man die Einstellungen öffnen und zu Sicherheit wischen. Anschließend wird ein Häkchen bei Unbekannte Herkunft gesetzt. Nun verweigert das Android nicht mehr das Installieren Store-Fremder Apps. Anschließend kann man die App (eine APK Datei) herunter laden. Sobald dies abgeschlossen ist, kann man sie in der Notificationbar anklicken. Anschließend startet der Installationsassistent. Dabei werden nur die Berechtigungen der App angezeigt. Klickt man hier auf Weiter, folgt ein Installationsbalken. Ist die herunter geladene APK nicht mehr in der Notificationbar zu finden, muss man mit einer Dateimanager App zu dem Ort der Speicherung navigieren. In der Regel befindet sich dieser im Internen Speicher unter Downloads. War die Installation erfolgreich, kann man diese im App-Drawer finden. 4.2 GPS Was ist GPS? Ursprünglich war GPS ein militärisches Projekt, dessen voller Name NAVSTAR lautet. Als Reaktion auf die sowjetischen Erfolge in der Weltraumfahrt, entwickelte die USA in den 60er Jahren das System Transit. Dies ist das erste Navigationssystem auf Basis von Satellitenortung. NAVSTAR-GPS ist die Weiterführung dieses Systems. Allerdings stand das Projekt in den 90er Jahren beinahe vor dem Abbruch, da unerwartete technische Probleme eintraten und somit finanzielle Probleme nach sich zogen 3. Jedoch ist seit 1995 das System voll einsatzfähig und für die zivile Bevölkerung verwendbar Wie funktioniert GPS? Um die Position des Nutzers bestimmen zu können, sind vier Elemente nötig: 1. Satelliten im Weltraum Ursprünglich gehörten 24 Satelliten auf drei Umlaufbahnen zum NAVSTAR-System. So war gewährleistet, dass von überall auf der Welt, sowohl von den Polen als auch vom Äquator aus, mindestens drei Satelliten empfangbar waren. Geht, aus unserer Sicht, ein Satellit unter, würde ein weiterer aufgehen. Mittlerweile werden mindestens vier Satelliten garantiert. Damit auch schwächere Empfangsgeräte GPS empfangen können, befinden sich die Satelliten in geringer Höhe, ca. 3 Internetseite: [15] Android Anwendung 21

34 km. Die Signale, die in Form von Radiowellen ausgesendet werden, enthalten die Informationen über die Position und Uhrzeit des Satelliten. 2. Bodenstationen als Kontroll-Segment Insgesamt fünf Bodenstationen überwachen die Uhrzeit und die Satellitenbahnen. Gegebenenfalls korrigieren sie diese auch. Vier der Bodenstationen befinden sich am Äquator, die fünfte, die Mutterstation, befindet sich in Colorado, USA. 3. Geostationäre Satelliten mit Korrektursignalen Diese Satelliten verändern ihre Position nicht und dienen nur dazu Korrektursignale für die Satellitenbahn, das Zeitsystem oder die Atmosphäre zu senden. Man nennt diese Systeme auch DGPS, also Differential Global Positioning System. Da diese Satelliten sehr flach am Horizont stehen, können sie für die private Benutzung, für die Standortermittlung, nicht verwendet werden. Es existieren vier solcher Systeme: Das europäische EGNOS, das USamerikanische WAAS, das japanische MSAS und das indische GAGAN. 4. GPS Gerät des Benutzers Als letztes wertet das GPS Gerät des Benutzers die Signale der NAVSTAR Satelliten aus. Dabei werden die Korrektursignale der geostationären Satelliten berücksichtigt. Um dies zu können, benötigt das Gerät lediglich eine Antenne, eine Quarzuhr, ein wenig Speicher und einen Prozessor für die Berechnungen Positionsbestimmung Die Satelliten werden in einem kartesischen Koordinatensystem angegeben, dessen Ursprung der Erdmittelpunkt ist. Sowohl die x-achse als auch die y-achse liegen auf der Äquatorebene. Dabei zeigt die x-achse zum Nullmeridian und die y-achse nach Osten. Die z-achse hingegen, zeigt zum Nordpol. Abbildung 4-9: GPS-Koordinatensystem [5] 22 Android Anwendung

35 Würde sich der Satellit auf der Position (x 0, y 0, z 0 ) befinden, dann wäre seine Entfernung zum Beobachter/Empfänger B gleich r 0. Dementsprechend entsteht nun folgende Gleichung: (x x 0 ) 2 + (y y 0 ) 2 + (z z 0 ) 2 2 = r 0 Wenn zum Beispiel die Empfängeruhr nach geht, dann kann dies zu einem Fehler führen und der Radius wird als kleiner Radius r 0 vorgetäuscht. Obwohl alle Satelliten die gleiche Entfernung haben, wird eine zu kleine Laufzeit und somit eine zu kleine Entfernung zum Satellit angenommen. Wenn sich der Beobachter nun auf der Position (x B, y B, z B ) befindet und wir den Distanzfehler mit D bezeichnen, so gilt nun: (x B x 0 ) 2 + (y B y 0 ) 2 + (z B z 0 ) 2 = (r 0 + D) 2 Wenn vier Satelliten empfangen werden, so erhält man ein Gleichungssystem mit vier Gleichungen (k 1, k 2, k 3, k 4 ) und mit vier Unbekannten (x B, y B, z B, D). Dieses Gleichungssystem sollte eindeutig lösbar sein, jedoch stehen, in der Regel, mehr als vier Satelliten zur Verfügung. Dann wäre das Gleichungssystem überstimmt und hätte keine eindeutige Lösung. Um es dennoch lösen zu können, sucht man einen Punkt, der alle Gleichungen möglichst gut erfüllt. Zum Beispiel könnte man von der letzten ermittelten Position des Beobachter ausgehen, sowie dem Uhrenfehler 0. Anschließend wird das Newtonsche Näherungsverfahren für mehrere Veränderliche angewendet Genauigkeit Die Genauigkeit des GPS Signals kann sehr variieren, da viele Einflussfaktoren eine Rolle spielen: Angefangen bei der Empfindlichkeit der Antenne des GPS-Empfängers bis hin zum Abstand der Satelliten. Stehen sie zu eng aneinander, könnte dies schon zu Berechnungsfehlern führen. In der Regel ergibt sich die Genauigkeit der Positionsbestimmung aus dem Zeitfehler und den Störungen in der Atmosphäre. Tabelle 4-6: Beeinflussungen des GPS Signals [6] Störungen durch die Ionensphäre Schwankungen der Satellitenumlaufbahn Uhrenfehler der Satelliten Mehrwegeffekte Rechnungs- und Rundungsfehler Störungen durch die Troposphäre 5 m 2,5 m 2 m 1 m 1 m 0,5 m Android Anwendung 23

36 Um die Genauigkeit zu erhöhen, gibt es mittlerweile verschiedene Verfahren. Diese Systeme nennt man SBAS, sie sollen die geostationären Systeme darstellen (siehe 4.2.2). Für zivile Anwendungen wurden ursprünglich künstliche Ungenauigkeiten (SA) eingebaut. Hierbei handelte es sich um einen künstlichen Fehler der Uhrzeit auf der L1- Frequenz. Wurde SA eingeschaltet, lag die Positionsgenauigkeit in einem Bereich von ca. 100 m. Diese künstliche Ungenauigkeit wurde ab dem 1. Mai 2000 bei allen Satelliten abgeschaltet, weshalb die berechnete Positionsgenauigkeit nun in einem Bereich unter 12 m liegt. Da nun die Positionsbestimmung genauer wurde, führte dies zu einem Anstieg von Navigationssystemen in Fahrzeugen. Der US-Präsident entscheidet jedes Jahr aufs neue, ob SA abgeschaltet bleibt oder nicht. Wegen dieser Abhängigkeit hat sich die EU entschieden ein eigenes Satelliten Navigationssystem einzurichten, mit dem Namen Galileo. Es basiert auf dem von der damaligen UDSSR entwickelten System GLONASS. 4.3 Sensoren Übersicht Bewegungssensoren Die Bewegungssensoren überwachen jegliche Bewegungen (z.b. Schwenken, Neigen, etc.). Um die Bewegungen genau bestimmen zu können, wird immer mit drei Werten gearbeitet. Tabelle 4-7: Der Beschleunigungssensor Sensor Typ Beschreibung Beschleunigungssensor TYPE_ACCELEROMETER Beschleunigung entlang der X-, Y- und der Z-Achse (in m/s²) Den Beschleunigungssensor nennt man auch Accelerometer und er dient dazu Bewegungen zu erkennen. Angaben zur Berechnung und Programmierung sind hier nachzulesen: [7] und [8] Tabelle 4-8: Das Gyroskop Sensor Typ Beschreibung Gyroskop TYPE_GYROSCOPE Drehrate um die X-, Y- und der Z-Achse (in rad/s) 24 Android Anwendung

37 Das Gyroskop nennt man auch Kreiselsensor. Neben dem Beschleunigungssensor ist er in den meisten Geräten eingebaut. Als Daten liefert dieser Sensor die Drehrate um die Achsen des Gerätes. Dabei ist zu beachten, dass die Werte, sowohl positiv, als auch negativ sein können. Anhand der Rechte-Hand-Regel lässt sich die Richtung eines Gyroskopwertes bestimmen. Abbildung 4-10: Recht-Hand-Regel Neu hinzugekommen ist der Schrittzähler, mit welchem sich anhand von routinierten Bewegungen die Schritte zählen lassen Umgebungssensoren Die Umgebungssensoren geben meist nur einen Wert wieder, im Gegensatz zu den Bewegungssensoren. Tabelle 4-9: Der Umgebungslichtsensor Sensor Typ Beschreibung Umgebungslichtsensor TYPE_LIGHT Misst die Lichtstärke in der Umgebung (in Lux) Mit dem Umgebungslichtsensor lässt sich die Lichtstärke in der Umgebung ermitteln. In der Praxis wird dieser Sensor genutzt um die Lichthelligkeit, des Bildschirmes, automatisch anzupassen. Es existieren noch weitere Umgebungssensoren, doch in den wenigsten Geräten wurden die Sensoren eingebaut. Unter anderem sind noch Druck-, Luftfeuchtigkeits- und Temperatursensoren vorhanden Positionssensoren Tabelle 4-10: Das Magnetometer Sensor Typ Beschreibung Magnetometer TYPE_MAGNETIC_FIELD Erdmagnetfeldstärke entlang der X-, Y- und der Z- Achse (in µt) Dieser Sensor wird hauptsächlich für die Kompassfunktion genutzt, da das Magnetometer die Erdmagnetfeldstärke entlang der Achsen misst. Android Anwendung 25

38 Tabelle 4-11: Der Näherungssensor Sensor Typ Beschreibung Näherungssensor TYPE_PROXIMITY Misst entweder den Abstand zu einem Objekt in cm oder meldet einen booleschen Wert ob ein Objekt nah genug ist. Der Näherungssensor ist von Gerät zu Gerät unterschiedlich eingebaut. Einige Geräte können so die Entfernung zu einem Objekt in cm angeben. Andere Geräte wiederum können nur Auskunft darüber geben, ob ein Objekt nah dran ist oder weit entfernt. Dieser Sensor wird zum Telefonieren verwendet. Sobald man das Smartphone an das Ohr hält, und somit ein Objekt nah genug ist, schaltet sich das Display aus. Entfernt man das Smartphone, geht das Display wieder an. Ein weiterer Positionssensor wäre GPS, doch dieses wurde aufgrund seiner Komplexität in einem extra Kapitel beschrieben. (siehe 4.2) Für Spieleentwickler wurden spezielle Rotations Vektoren Sensoren entwickelt, die jedoch auf vorhandenen Sensoren beruhen Koordinatensystem Die meisten Sensoren werden mittels eines kartesischen Koordinatensystems ausgelesen. Einige wenige Sensoren jedoch geben nur einen Wert zurück, wie zum Beispiel der Näherungssensor. Das Koordinatensystem wird relativ zur natürlichen Ausrichtung des Gerätedisplays definiert. Bei Smartphones ist die natürliche Ausrichtung im Hochformat, während es bei den meisten Tablets eher im Querformat ist. Die x-achse befindet sich horizontal und zeigt nach rechts, somit ist die y-achse vertikal und zeigt nach oben. Aus dem Display heraus, zeigt letztendlich die z-achse. Diese Angaben gelten für die natürliche Ausrichtung. In nachfolgenden Abbildungen sieht man das Koordinatensystem, sowohl für Smartphones als auch für Tablets: 26 Android Anwendung

39 Abbildung 4-12: Koordinatensystem eines Tablets [7] Abbildung 4-11: Koordinatensystem eines Smartphones [9] Man sollte beachten, dass sich das Koordinatensystem niemals ändert, unabhängig von der Bewegung des Gerätes oder Änderung der Ausrichtung. Android Anwendung 27

40

41 5 Quelltexte Die vollständige Code-Dokumentation kann zum besseren Verständnis der Quelltexte genutzt werden. 5.1 Android Anwendung Model Dieses Projekt verwendet keine Datenhalter-Klasse, deshalb existieren auch keine Model-Klassen View Bei Android sind die View Klassen die Activities. Mit extends Activity wird von einer Basis GUI-Klasse zur Individualisierung abgeleitet. Das Projekt verwendet nur eine Activity, da die Hauptfunktionen der App im Hintergrund laufen und nicht sichtbar in den Activities sind. Es wurden keine speziellen Funktionen geschrieben, bis auf die Standardfunktionen die eine Activity mitliefert Control Sender final static String WSDL_URL Die URL, an der der Webservice zu erreichen ist. Konstantenwert: " services/datensender?wsdl" final static String WS_NAMESPACE In XSD Schemata können eigene Datentypen bestimmt werden. Unterschiedliche XMLs können auf diese Typen zugreifen. Um zwischen den XML-Dateien differenzieren zu können, werden Namensräumen eingerichtet. Diese werden als Präfix in den XML-Tags verwendet. Konstantenwert: " Quelltexte 29

42 final static String WS_METHOD_NAME Mit dieser Variable wird eine bestimmte Methode im Webservice angesprochen. Konstantenwert: "DatenSenderService" final static String TAG Für eine entsprechende Ausgabe im LogCat, um denn App-Verlauf kontrollieren zu können. Konstantenwert: "DatenSenderService" public void splitzeilen() Holt sich die Werte zeilenweise aus den TXT Dateien. Anschließend werden die Zeilen gesplittet und einzeln in Variablen geschrieben. für die Vorbereitung zum Senden der Daten. public static void sendegps(string uuid, String datum, String breite, String laenge, String hoehe) Die Daten werden in eine spezielle XML umgewandelt und anschließend an den Server gesendet. Parameter uuid datum breite laenge hoehe Die eindeutige Identifizierungsnummer des Nutzers Exaktes Datum des jeweiligen GPS Eintrages Position des Breitengrades Position des Längengrades Die Höhe ab dem Meeresspiegel (Wert ist Geräteabhängig) Throws IOException HttpResponseException XMLPullParserException Wenn der Socket nicht beschreibbar ist. Kann auftreten wenn der Server nicht antwortet oder den Request nicht versteht. Die XML die versendet wird, kann nicht interpretiert werden. 30 Quelltexte

43 public static void sendesensor() Gleiche Funktion wie sendegps, nur für die Sensordaten DateiHandler private static String pfad Im Internen Speicher, des Gerätes, wird ein Ordner Verkehrsstudie generiert. In diesem liegen alle Dateien, die für dieses Projekt und zum Tracken benötigt werden. Die Variable zeigt genau auf diesen Projektordner im Smartphone. Konstantenwert: Environment.getExternalStorageDirectory().getPath()+ "/Verkehrsstudie" public static void erstelledatei(string werte, String datei) Wenn die Dateien noch nicht vorhanden sind, wird diese erstellt. Ist sie doch schon vorhanden, wird sie weiter beschrieben. Parameter werte datei Enthält die GPS- oder Sensoren-Werte, welche als ein Eintrag gespeichert werden sollen. Enthält den Dateinamen, in welche Daten geschrieben werden sollen. Throws IOException Die angegebene Datei konnte nicht erstellt oder beschrieben werden. Gründe könnten fehlende Schreibrechte sein. public String lesedatei(string datei) Die Datei wird Zeilenweise ausgelesen. Parameter datei Ein String mit dem Dateinamen, welche ausgelesen werden soll. Rückgabewert Der gesamte Inhalt der Datei wird als ein String wiedergegeben. Throws FileNotFoundException Die Datei konnte nicht gefunden werden, weil sie eventuell nicht existiert. Quelltexte 31

44 IOException Lesen der Datei schlug fehl. Fehlende Leserechte oder Datei existiert nicht. public void checkuuid() Die UUID ist die eindeutige Identifikationsnummer des Gerätes. Direkt zum Start der App wird diese generiert und in eine Datei gespeichert. Wird die UUID aus der Datei entfernt, wird eine neue erstellt. Throws FileNotFoundException IOException Die Datei konnte nicht gefunden werden, weil sie eventuell nicht existiert. Lesen oder Schreiben der Datei schlug fehl. Eventuell fehlen entsprechende Lese- oder Schreibrechte Service SysService In der Regel führt Android die Funktionen der App nur aus, wenn diese im Vordergrund läuft. Das heißt, wenn die Oberfläche sichtbar ist. Möchte man aber, dass die App ihre Funktionen im Hintergrund weiter ausführt, benötigt man Services. Diese können mit extends Service eingebunden werden. Wie jedes Interface, besitzt auch Service seine eigenen Methoden, welche automatisch generiert werden. In der oncreate() Methode wurde die Notification impelementiert GPSGatherThread und SensorGatherThread Der Service selbst ist nicht in der Lage die GPS- und Sensordaten auszulesen, da ihm die Berechtigungen für den Context fehlen. Aus diesem Grund wurde die Tracking Funktion in Threads aufgesplittert, die der Service letztendlich nur aufruft. Auch das Thread-Interface bringt eigene Methoden mit sich, die automatisch generiert wurden. Zusätzlich wird der LocationListener bzw. der SensorEventListener implementiert, welche alle nötigen Methoden zum Abfragend er GPS- und Sensordaten benötigt. 32 Quelltexte

45 private void setupmanager() die setupmanager()-methode wurde als einzige in beiden Klassen, zusätzlich implementiert. In dieser Methode wird bestimmt welcher Location Provider, also ob GPS oder mit Netzwerk, benutzt werden soll und wie die Updatehäufigkeit der GPS Abfrage ist. Bei den Sensoren werden die unterschiedlichen Sensorarten, beispielsweise Accelerometer, registriert. 5.2 Webserver Control Sender private static EntityManager em Ist für die Kommunikation mit der Datenbank zuständig und steuert das Auslesen bzw. schreiben von Datensätzen in Tabellen. public void sendegps(string uuid, String datum, String breite, String laenge, String hoehe) Die Daten werden in Objekte für die Datenbank umgewandelt und anschließend an diese geschickt. Parameter: uuid datum breite laenge hoehe Die eindeutige Identifizierungsnummer des Nutzers Exaktes Datum des jeweiligen GPS Eintrages Position des Breitengrades Position des Längengrades Die Höhe ab dem Meeresspiegel (Wert ist Geräteabhängig) Throws ParseException Das Datum, inkl. Uhrzeit, wird in ein entsprechendes Datum geparst. Wenn dieses jedoch Fehlerhaft ist, könnte diese Exception geworfen werden. public void sendesensoren() Entspricht der Methode sendegps(), nur auf die Sensoren angepasst. Quelltexte 33

46 5.2.2 Model Geodaten Diese Klasse ist eine JPA-Klasse und das Abbild der Geodaten-Tabelle. Entsprechend nach dem Java Bean Design, benötigt jedes Attribut seine Getter- und Setter-Methoden, damit das Framework vereinfacht auf die Attribute zugreifen kann Sensordaten Entspricht den Geodaten, jedoch wird es auf die unterschiedlichen Sensoren angepasst sein. 34 Quelltexte

47 6 Abschluss 6.1 Resümee Der Anfang verlief relativ gut. Dank dem API-Guide von Google bzw. Android Developers, konnte eine kleine App entwickelt werden, die eine Übersicht über die verschiedenen Sensoren und deren Werte lieferte. Diese App wurde letztendlich in die eigentliche App umgewandelt. Dabei wurde viel zum Thema Android Entwicklung gelernt, denn in der Regel werden Funktionen nur ausgeführt, wenn man es der App befiehlt, beispielsweise mit dem Drücken eines Buttons. Sobald die App also in den Hintergrund verschwindet, schläft sie. Um dem zu entgehen, gibt es Services. Doch auch hier gibt es das Problem, dass die App vom System irgendwann beendet wird, sobald die App nichts mehr zu tun hat. Im Falle der hier behandelten App wäre es, wenn sie keine Daten schreiben kann, weil kein GPS Empfang vorhanden ist. Schwierigkeiten gab es bei der Inbetriebnahme eines Webservers. Hierfür wurde die Hochschule um Mithilfe gebeten, doch fühlte sich keiner so richtig verantwortlich. So dauerte es einige Monate eh der Webserver zur Verfügung stand. Die Einrichtung klappte, dank des Aufsetzens eines lokalen (virtuellen) Servers, recht gut. Doch weil der Server so spät zur Verfügung stand, konnten einige Funktionen nicht umgesetzt werden, die man noch gerne programmiert hätte. Die Webservices zu programmieren stellte sich als kleine Herausforderung dar, da im Studium Thema Webservices nur im Groben behandelt wurden. Manchmal war die Zusammenarbeit mit dem Arbeitsgeber etwas kompliziert, da sich auf Grund von unterschiedlichen Sprachverhältnissen, oft Missverständnisse ergeben haben. 6.2 Ausblick Als nächstes müsste die App optimiert werden. Sie enthält einige Fehler, die nicht entfernt wurden konnte, da auf Grund des Zeitmangels nicht ausreichend darüber geforscht werden konnte. Zum Beispiel stürzt die App ab, wenn GPS ausgeschaltet wird. Oder die App wird, trotz verwendeter Services, vom System beendet, sobald diese keine Funktion mehr ausführt. Weiterhin kann man nun die Funktionen umsetzen, die im Pflichtenheft nicht berücksichtig wurden, wie zum Beispiel die provisorische Mini-Umfrage implementieren oder gleich über Lime-Survey die komplette Umfrage implementieren. Abschluss 35

48 Glossar App-Drawer Deployment Eclipse Juno JPA MVC Der App-Drawer ist die Übersicht, auf dem Smartphone, in dem alle Apps aufgelistet wurden. Aus dem App-Drawer startet man üblicherweise seine Apps. Auch als Softwareverteilung bekannt. So bezeichnet man die Prozesse für die Installation von Software, auf Anweder-PC bzw. Servern in Betrieben. Eclipse ist eine Entwicklungsumgebung um Java- Anwendungen zu programmieren. Die Entwickler von Eclipse geben ihren Versionen zusätzlich einen Namen, dessen Anfangsbuchstabe durch das Alphabet geht. Juno ist die Version Dient als Schnittstelle für Java-Anwendungen für die Zuordnung und Übertragung von Objekten als Datenbankeintrag. Ein Architekturmuster zur Strukturierung von Software-Entwicklung. Der Programmentwurf, wird in drei Einheiten geteilt: Datenmodell (model), Präsentation (view) und Programmsteuerung (control). Newtonsche Näherungsverfahren Dieses Verfahren dient dazu, Nullstellen von schwierigen Funktionen anzunähern. Siehe dazu [10] Notificationbar Eine Notification ist ein Hinweis einer App an den Benutzer. Zum Beispiel das eine Anwendung im Hintergrund weiter läuft oder das neue Nachrichten eingegangen sind. Die Notificationbar ist dementsprechend ein Sammelcontainer, in dem alle Notifications aufgelistet sind. Üblicherweise findet man diese am oberen Bildschirmrand des Smartphones oder Tablets. Zusammengeklappt sieht man nur die Icons der App (eingereiht neben der Uhr und Funkempfang, etc.). Wischt man diese Leiste runter, erhält man nähere Informationen. 36 Glossar

Hochschule Mittweida. UML-Dokumenation. Franziska Frenzel [Wählen Sie das Datum aus]

Hochschule Mittweida. UML-Dokumenation. Franziska Frenzel [Wählen Sie das Datum aus] Hochschule Mittweida UML-Dokumenation Franziska Frenzel [Wählen Sie das Datum aus] Inhalt UML-Dokumenation Inhalt... 1 /PF 000/ App ausführen inkl. Tracking und UUID erstellen... 2 /PF 001/ Modus wechseln...

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. 1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?

Mehr

Quickline Cloud Apps

Quickline Cloud Apps Quickline Cloud Apps Inhaltsverzeichnis Inhalt 1. Einstieg 3 2. Unterstützte Geräte 3 3. Mobile Apps 4 3.1 Hauptmenü 5 3.2 Automatische Aktualisierung 7 3.3 Dateikennzeichnung 8 3.4 Erste Nutzung 9 3.4.1

Mehr

Quickline Cloud Apps

Quickline Cloud Apps Quickline Cloud Apps Inhaltsverzeichnis Inhalt 1. Einstieg 3 2. Unterstützte Geräte 3 3. Mobile Apps 4 3.1 Hauptmenü 5 3.2 Automatische Aktualisierung 7 3.3 Dateikennzeichnung 8 3.4 Erste Nutzung 9 3.4.1

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Software- /Systemarchitektur

Software- /Systemarchitektur Software- /Systemarchitektur Agenda: Definition von Softwarearchitektur Voraussetzungen Was bedeutet Objektorientierung? Wie speichert man Daten persistent? Client-Server-Architektur Schichtenarchitektur

Mehr

OpenFireMap.org oder Wie kommt der Hydrant ins Internet?

OpenFireMap.org oder Wie kommt der Hydrant ins Internet? OpenFireMap.org oder Wie kommt der Hydrant ins Internet? Eine Beschreibung, wie man mit einem Adroid Smatphone und Windows Notebook in OpenStreetMap.org Hydranten eintragen kann, so dass sie über OpenFiremap.org

Mehr

Grundlagen GPS. Copyright by Compass Yachtzubehör

Grundlagen GPS. Copyright by Compass Yachtzubehör Grundlagen GPS Was bedeutet GPS? Wofür wurde GPS entwickelt? Geschichtlicher Rückblick Aufbau des Satelliten Systems Funktionsweise des GPS-Systems Genauigkeit des GPS Systems und deren Faktoren WAAS /

Mehr

Hochschule Mitttweida. Pflichtenheft. Für ein Verkehrsstudie System

Hochschule Mitttweida. Pflichtenheft. Für ein Verkehrsstudie System Hochschule Mitttweida Pflichtenheft Für ein Verkehrsstudie System Franziska Frenzel 25.09.2013 Inhalt 1. Ziel/Produktzweck... 2 1.1 Musskriterien... 2 1.2 Kannkriterien... 2 1.3 Abgrenzungskriterien...

Mehr

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten Seminararbeit vorgelegt von: Gutachter: Studienbereich: Christian Lechner Dr. Georg Moser Informatik Datum: 6. Juni 2013 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung in Datenbanken 1 1.1 Motivation....................................

Mehr

Ein Dienst für Hochschulen und Forschungsinstitutionen zum einfachen Synchronisieren und Teilen von Dokumenten

Ein Dienst für Hochschulen und Forschungsinstitutionen zum einfachen Synchronisieren und Teilen von Dokumenten 1. Allgemeines Seite 1 Ein Dienst für Hochschulen und Forschungsinstitutionen zum einfachen Synchronisieren und Teilen von Dokumenten Mobil-Client Steinbuch Centre for Computing, KIT Fassung vom 28.04.2017

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

Datenbankentwicklung

Datenbankentwicklung Datenbankentwicklung Berechnung und Präsentation von Daten Organisation der Daten in alleinstehende Tabellen Exklusiver Zugriff auf alle Informationen einer Tabelle Beschränkte Anzahl von Daten pro Tabellenblatt

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog 10.Klasse: Themenschwerpunkt I: Datenbanken Datenbanken o Einsatzbereiche von Datenbanken o Verwaltung von großen Datenmengen o Probleme aus dem Alltag in Datenbanken abbilden o Relationale Datenbanksysteme

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

Putzi4Win 1/ 9. Dokumentation

Putzi4Win 1/ 9. Dokumentation Dokumentation Putzi4Win Manager Plugin-Manager Der Pluginmanager verwaltet die Plugins von Putzi4Win. Mit diesem Programm haben Sie eine Übersicht über die installierten Plugins die auf dem Webswerver

Mehr

Dineso Software - Technische Daten

Dineso Software - Technische Daten Dineso Software - Technische Daten Zahlen, Daten, Fakten zu Software und Anwendung Inhaltsverzeichnis: 1. Allgemeine Informationen zur Dineso Software 2. Technische Voraussetzungen 3. Ablauf eines BI-Projektes

Mehr

BlackBerry Dynamics einrichten - Android

BlackBerry Dynamics einrichten - Android Status Vorname Name Funktion Datum DD-MM-YYYY Erstellt: V. De Riggi Junior Network Engineer 07.09.2017 12:31:16 V. De Riggi Unterschrift Handwritten signature or electronic signature (time (CET) and name)

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

Anleitung: SecureSafe-Client für PC / Mac

Anleitung: SecureSafe-Client für PC / Mac Anleitung: SecureSafe-Client für PC / Mac by DSwiss AG, Zurich, Switzerland 1 Inhaltsverzeichnis 1. EINFÜHRUNG 1.1 SecureSafe im Überblick: Online-Konto, SecureSafe-Client, Mobile-Apps 1.2 Logik des SecureSafe-Clients

Mehr

Quickline Cloud Apps

Quickline Cloud Apps Quickline Cloud Apps Inhaltsverzeichnis Inahlt 1 Einstieg 3 2 Unterstützte Geräte 3 3 Mobile Apps 4 3.1 Hauptmenü 5 3.2 Automatische Aktualisierung 7 3.3 Dateikennzeichnung 9 3.4 Erste Nutzung 10 3.4.1

Mehr

owncloud Benutzerdoku 1.0 Inhaltsverzeichnis

owncloud Benutzerdoku 1.0 Inhaltsverzeichnis owncloud Benutzerdoku 1.0 Inhaltsverzeichnis Anleitung owncloud... 2 Login... 2 Kontakt... 2 Persönliche Seite... 2 Navigation auf der Startseite... 3 Dokumente hochladen... 3 Bearbeitete Dokumente wiederherstellen...

Mehr

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Terminland TLSync. Installationsanleitung. Terminland TLSync. Installationsanleitung. Dokumentation: 3.02 Terminland: ab Datum:

Terminland TLSync. Installationsanleitung. Terminland TLSync. Installationsanleitung. Dokumentation: 3.02 Terminland: ab Datum: Terminland TLSync Dokumentation: 3.02 Terminland: ab 10.08 Datum: 09.02.2017 Terminland TLSync - Seite 1 von 11 Inhaltsverzeichnis 1 Einführung... 3 2 Systemvoraussetzung... 3 2.1 Betriebssysteme... 3

Mehr

Datenbanken Datenbanken 1 Belegnummer Belegnummer

Datenbanken Datenbanken 1 Belegnummer Belegnummer Datenbanken Datenbanken 1 Belegnummer 30.7302 Belegnummer 30.7312 Blockkurs 31.08. 11.09.2015 Wintersemester 2015/16 (Bachelor) Materialien zur Vorlesung Michael Roth Inge Hochschule Darmstadt Fachbereich

Mehr

Technische Richtlinie XML-Datenaustauschformat für hoheitliche Dokumente (TR XhD) 1 Rahmenwerk

Technische Richtlinie XML-Datenaustauschformat für hoheitliche Dokumente (TR XhD) 1 Rahmenwerk Technische Richtlinie XML-Datenaustauschformat für hoheitliche Dokumente (TR XhD) 1 Rahmenwerk Version 1.4 18.11.2013 BSI TR-03123-1 Bundesamt für Sicherheit in der Informationstechnik Postfach 20 03 63

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Einleitung... 9 Aufbau des Buchs Benötigte Software Webseite zum Buch... 13

Einleitung... 9 Aufbau des Buchs Benötigte Software Webseite zum Buch... 13 Einleitung................................................ 9 Aufbau des Buchs.......................................... 11 Benötigte Software......................................... 12 Webseite zum Buch........................................

Mehr

D1: Relationale Datenstrukturen (14)

D1: Relationale Datenstrukturen (14) D1: Relationale Datenstrukturen (14) Die Schüler entwickeln ein Verständnis dafür, dass zum Verwalten größerer Datenmengen die bisherigen Werkzeuge nicht ausreichen. Dabei erlernen sie die Grundbegriffe

Mehr

Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten

Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten SMART BOOKS Inhaltsverzeichnis..««... Vorwort 13 Kapitel 1 - Einführung 17 Crashkurs: FileMaker Pro 7 anwenden 19 Eine

Mehr

Swissmem ebooks ebook Funktionen Software Version 4.x (PC)

Swissmem ebooks ebook Funktionen Software Version 4.x (PC) Swissmem ebooks ebook Funktionen Software Version 4.x (PC) 29.05.2017 Inhalt 6.0.0 ebook Funktionen 2 6.1.0 Übersicht...2 6.2.0 Notizen...3 6.2.1 Einfaches Notizfeld...3 6.2.2 Handschriftliches Notizfeld...6

Mehr

D O K U M E N T A T I O N. AdvoCenter VERSION 1.1

D O K U M E N T A T I O N. AdvoCenter VERSION 1.1 D O K U M E N T A T I O N AdvoCenter VERSION 1.1 Copyright ADVOSERVICE GmbH, 2015 Inhalt 1. Einleitung... 3 2. Installation und Einrichtung von AdvoDeviceCenter... 4 2.1. Installation von AdvoDeviceCenter...

Mehr

Swissmem ebooks ebook Funktionen Software Version 4.x (PC)

Swissmem ebooks ebook Funktionen Software Version 4.x (PC) Swissmem ebooks ebook Funktionen Software Version 4.x (PC) 25.08.2017 Inhalt 6.0.0 ebook Funktionen 2 6.1.0 Übersicht...2 6.2.0 Notizen...3 6.2.1 Einfaches Notizfeld...3 6.2.2 Handschriftliches Notizfeld...6

Mehr

Programmieren lernen in ASP.NET mit C#

Programmieren lernen in ASP.NET mit C# Programmieren lernen in ASP.NET mit C# von Patrick A. Lorenz, Christoph A. Müller 1. Auflage Hanser München 2003 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 22311 0 Zu Leseprobe schnell und

Mehr

(3) Button-Klick & Texteingabe

(3) Button-Klick & Texteingabe Nachdem ihr jetzt Buttons und ein Eingabefeld hinzugefügt habt, wollt ihr sie sicherlich auch benutzen können und festlegen, was bei einem Klick oder Eintrag passieren soll! Dazu taucht ihr nun in die

Mehr

Android-Geräte Programmieren 4. Hinweise zur Android-Programmierung. Stefan Rothe

Android-Geräte Programmieren 4. Hinweise zur Android-Programmierung. Stefan Rothe Android-Geräte Programmieren 4. Hinweise zur Android-Programmierung Stefan Rothe 2014 01 29 Rechtliche Hinweise Dieses Werk von Thomas Jampen und Stefan Rothe steht unter einer Creative Commons Attribution-Non-

Mehr

NetUSE-SSH-Keymanager 2.12

NetUSE-SSH-Keymanager 2.12 Benutzerhandbuch Maksim Kabakou - Fotolia.com Revision: 38 Stand: 10. Januar 2014 NetUSE AG Dr.-Hell-Straße 6 D-24107 Kiel Telefon: +49 431 2390 400 http://netuse.de/ Inhaltsverzeichnis 1. Versionsübersicht...3

Mehr

Sophos Mobile Control Benutzerhandbuch für Windows Mobile

Sophos Mobile Control Benutzerhandbuch für Windows Mobile Sophos Mobile Control Benutzerhandbuch für Windows Mobile Produktversion: 2 Stand: Dezember 2011 Inhalt 1 Über Sophos Mobile Control... 3 2 Einrichten von Sophos Mobile Control auf einem Windows Mobile

Mehr

Algorithmen und Datenstrukturen 06

Algorithmen und Datenstrukturen 06 31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung

Mehr

Durch einen kleinen Geldbetrag kann mehr Speicher dazu gekauft werden. Eines der Systeme mit guten Referenzen ist mydrive.

Durch einen kleinen Geldbetrag kann mehr Speicher dazu gekauft werden. Eines der Systeme mit guten Referenzen ist mydrive. Nutzung von Inhalt 1. Allgemeines... 3 2. Begriffe:... 3 3. Registrierung... 4 4. Hauptfunktionen... 6 4.1 Einstellungen... 7 4.1.1 Information... 7 4.1.2 Hauptbenutzer... 7 4.1.3 Gastbenutzer... 7 4.1.4

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

Mehr

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

Mehr

A Datenbanken. A.1 Firebird. A.1.1 Installation des Servers. A.1.2 Installation der Beispieldatenbanken. Datenbanken 1

A Datenbanken. A.1 Firebird. A.1.1 Installation des Servers. A.1.2 Installation der Beispieldatenbanken. Datenbanken 1 Datenbanken 1 A Datenbanken A.1 Firebird Firebird ist als Datenbank konzipiert, die hauptsächlich in andere Anwendungsprogramme integriert wird. Die hier verwendete Oberfläche ist also eher untypisch für

Mehr

Software- und Systementwicklung

Software- und Systementwicklung Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm

Mehr

GPS: Wie funktioniert es? Ausarbeitung. KAMEL BEN YEDDER FH Wiesbaden, Fachseminar, Herr Prof. Dr. Linn

GPS: Wie funktioniert es? Ausarbeitung. KAMEL BEN YEDDER FH Wiesbaden, Fachseminar, Herr Prof. Dr. Linn GPS: Wie funktioniert es? Ausarbeitung KAMEL BEN YEDDER FH Wiesbaden, Fachseminar, Herr Prof. Dr. Linn Inhalt 1. Einleitung 2. Geschichte 3.Aufbau 3.1Weltraumsegment (Satelliten) 3.1.1 Block I Satelliten

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können. Seite: 1 / 10 Designentwurf 1 Allgemeines 1.1 Kurzcharakterisierung Die Glossarverwaltung soll eine einheitliche Terminologie zwischen allen Beteiligten sicherstellen, hier zwischen den Mitarbeitern der

Mehr

GPS Analogieexperiment

GPS Analogieexperiment Didaktik der Physik, Ruhr-Universität Bochum, www.dp.rub.de GPS Analogieexperiment Einleitung Das Global Positioning System (GPS) erlangt zunehmende Bedeutung in vielen technischen Anwendungen. Im täglichen

Mehr

enet IP-Gateway TestApp Leitfaden für die Installation und erste Schritte

enet IP-Gateway TestApp Leitfaden für die Installation und erste Schritte Titel ReadMe enet IP-Gateway TestApp Ersteller / Abteilung B-AD Betrifft IP-Gateway Android App Version 1.0 Datum 08.11.13 enet IP-Gateway TestApp Leitfaden für die Installation und erste Schritte Ziel

Mehr

1 Einführung 1. 2 Einrichten der Arbeitsumgebung 9. 3 Schnelleinstieg in Xcode und Objective-C 25

1 Einführung 1. 2 Einrichten der Arbeitsumgebung 9. 3 Schnelleinstieg in Xcode und Objective-C 25 1 Einführung 1 1.1 Das Smartphone 2 1.2 An wen richtet sich dieses Buch? 2 1.3 Buchaufbau und verwendete Technologien 3 1.4 Vorstellung des Beispielprojekts 4 2 Einrichten der Arbeitsumgebung 9 2.1 Installation

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Windows Cockpit Konfiguration Montag, 23. November :59

Windows Cockpit Konfiguration Montag, 23. November :59 Windows Cockpit Konfiguration Montag, 23. November 2015 10:59 Standard Standard Einstellungen Interne Programm Version Cockpit Brand Text Alternativer Logfile Pfad Alte Logdateien automatisch löschen Update

Mehr

Objektorientierte Programmierung (OOP)

Objektorientierte Programmierung (OOP) orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,

Mehr

Anleitung Team-Space. by DSwiss AG, Zurich, Switzerland V

Anleitung Team-Space. by DSwiss AG, Zurich, Switzerland V Anleitung Team-Space by DSwiss AG, Zurich, Switzerland V.. - 05-04- INHALT 3 TEAM-SPACE SETUP. EINLEITUNG. TEAM-SPACE OHNE BESTEHENDES KONTO ERSTELLEN.3 TEAM-SPACE MIT BESTEHENDEM KONTO ERSTELLEN TEAM-SPACE

Mehr

Entwicklung der Datenbanksysteme

Entwicklung der Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger Jahren waren die

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

Inhaltsverzeichnis. Teil 1 - XM L Einleitung Motivation...15

Inhaltsverzeichnis. Teil 1 - XM L Einleitung Motivation...15 Inhaltsverzeichnis 1 Einleitung...11 2 Motivation...15 Teil 1 - XM L......17 3 Geschichte von X M L...17 3.1 Markupsprachen...17 3.1.1 Auszeichnungsarten...17 3.1.2 Markupsprachen...20 4 Zeichensatz...

Mehr

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Thomas Röfer Motivation Entwicklung Spracheinheiten Diagramme (Struktur-/Verhaltensdiagramme) Rückblick Textsuche Naive Suche abrakadabra Boyer-Moore abrakadabra a Knuth-Morris-Pratt

Mehr

Hochschule Bochum. Fachbereich Elektrotechnik und Informatik. Arbeitsthese. UML2 Web-Modelling-Tool. Tim Keller

Hochschule Bochum. Fachbereich Elektrotechnik und Informatik. Arbeitsthese. UML2 Web-Modelling-Tool. Tim Keller Hochschule Bochum Fachbereich Elektrotechnik und Informatik Arbeitsthese UML2 Web-Modelling-Tool erstellt von: Tim Keller erstellt am: 26. September 2007 Kooperation: innoq Deutschland

Mehr

Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona

Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona DAS EINSTEIGERSEMINAR Datenbankprogrammierung mit MySQL 5 und PHP 5 von Helma Spona Neuausgabe Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona schnell und portofrei erhältlich bei beck-shop.de DIE

Mehr

RTG Online Reporting. Anleitung. RTG Trading Solutions

RTG Online Reporting. Anleitung. RTG Trading Solutions RTG Online Reporting Anleitung RTG Trading Solutions Inhaltsverzeichnis RTG Online Reporting mit RTG Client... 3 Einleitung... 3 Installation... 3 RTG Client Hauptmenü... 3 RTG Client Browser Navigation...

Mehr

EIBPORT 3 VPN SSL Nutzung mit OpenVPN-Client

EIBPORT 3 VPN SSL Nutzung mit OpenVPN-Client BAB TECHNOLOGIE GmbH EIBPORT 3 VPN SSL Nutzung mit OpenVPN-Client Datum: 11. Oktober 2016 DE BAB TECHNOLOGIE GmbH 1 OPTIMALE DATENSICHERHEIT Um bei Internet-Zugriffen auf EIBPORT 3 eine ausreichende Datensicherheit

Mehr

Benutzerhandbuch GI CLOUD box

Benutzerhandbuch GI CLOUD box B e n u t z e r h a n d b u c h G I C L O U D b o x S e i t e 1 Benutzerhandbuch GI CLOUD box Inhaltsverzeichnis 1 Einleitung... 2 2 Version... 2 3 Installation Client-Software... 3 4 Handling & Tipps...

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13 Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten 1 Einführung... 1 1.1 Was wird vermittelt?... 1 1.2 Hinweise zum Buch... 3 1.3 Hinweise zur Buch-CD... 4 1.4 Hinweise zum Forum... 4 1.5 Allgemeine Hinweise... 5 2 Die Software JGIS... 7 2.1 Start des

Mehr

MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein

MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein www.comelio-medien.com MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein

Mehr

Uepaa Alleinarbeiterschutz

Uepaa Alleinarbeiterschutz Uepaa Alleinarbeiterschutz Benutzeranleitung & Prozessbeschreibung Datum: 6. Juni 2016 Kontaktinformationen Uepaa AG Dominic Bestler Seefeldstrasse 301A CH- 8008 Zürich Tel: +41 44 809 6000 support@uepaa.ch

Mehr

Anwendungsfalldiagramm UseCaseDiagramm

Anwendungsfalldiagramm UseCaseDiagramm Anwendungsfalldiagramm UseCaseDiagramm Notation und Beispiele Prof. DI Dr. Erich Gams htl wels.e.gams@eduhi.at UML Seminar HTL-Wels 2010 Anwendungsfall und SE Prozess Ein Anwendungsfalldiagramm ist ein

Mehr

DB1. DB SQL-DQL 1 Mario Neugebauer

DB1. DB SQL-DQL 1 Mario Neugebauer DB1 DB1-12 041-SQL-DQL 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache - DDL Daten-Manipulations-Sprache

Mehr

ManageHomePC v Veröffentlicht 2016 Copyright S-cubic GmbH. Krebsbachstr. 12 D Bergisch Gladbach

ManageHomePC v Veröffentlicht 2016 Copyright S-cubic GmbH. Krebsbachstr. 12 D Bergisch Gladbach ManageHomePC v1.1.1 ManageHomePC v1.1.1 Veröffentlicht 2016 Copyright 2016 S-cubic GmbH Krebsbachstr. 12 D-51429 Bergisch Gladbach Tel +49 (0) 2204 9160 30 Fax +49 (0) 2204 9199 416 email: info@s-cubic.de

Mehr

Trainingsmanagement Gutschein Management. Beschreibung

Trainingsmanagement Gutschein Management. Beschreibung Trainingsmanagement Beschreibung www.dastm.de info@dastm.de 1. Einführung... 2 2. Gutschein Funktionen... 3 2.1. Gutschein Menü... 3 2.2. Gutscheine anlegen... 4 Gutschein Kassenwirksam erfassen... 6 Gutschein

Mehr

Apple ios EXTRAblatt iphone Update. DIE einfache ANLEITUNG. Update. Die Themen

Apple ios EXTRAblatt iphone Update. DIE einfache ANLEITUNG. Update. Die Themen Update Apple ios EXTRAblatt iphone Update Die Themen Download / Installation Einstellungen / Konto Neues Dateisystem Zwei-Faktor-Authentifizierung Die offiziellen Texte U E N DIE einfache ANLEITUNG Das.Original

Mehr

2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version

2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version 2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version Das Verwaltungsmodul moveon besteht aus zwei Komponenten: dem moveon Client und der moveon Datenbank. Der moveon Client enthält alle Formulare,

Mehr

Repair Guide für das tolino tab 8

Repair Guide für das tolino tab 8 Repair Guide für das tolino tab 8 Ein Software-Update der Google Play-Dienste durch Google kann aktuell auf dem tolino tab 8 zu Problemen bei der Nutzung von Google Play Diensten (Google Play Store, Google

Mehr

Full Text Search in Databases

Full Text Search in Databases Full Text Search in Databases Verfasser: Stefan Kainrath (0651066) h0651066@wu-wien.ac.at 0664/1327136 Betreuer: Dipl.-Ing. Mag. Dr. Albert Weichselbraun Inhaltsverzeichnis 1 Motivation... 3 2 Anforderungen...

Mehr

Webtechnologien Teil 1: Entwicklungsumgebung(en)

Webtechnologien Teil 1: Entwicklungsumgebung(en) Webtechnologien Teil 1: Entwicklungsumgebung(en) 05.04.17 1 Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html

Mehr

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

Abschlussbericht. Zum Projekt Wie erstellt man eine App mit Adobe PhoneGap Build? Ein Tutorial zur Einführung T3B731. Multimedia-Technologien

Abschlussbericht. Zum Projekt Wie erstellt man eine App mit Adobe PhoneGap Build? Ein Tutorial zur Einführung T3B731. Multimedia-Technologien Abschlussbericht Zum Projekt Wie erstellt man eine App mit Adobe PhoneGap Build? T3B731 Multimedia-Technologien Patricia Mast, 36814 26.11.2014 Wie erstellt man eine App mit Adobe PhoneGap Build? Inhaltsverzeichnis

Mehr

Literatur und Links. Webtechnologien WS 2017/18 Teil 1/Entwicklung

Literatur und Links. Webtechnologien WS 2017/18 Teil 1/Entwicklung Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html http://sourceforge.net/projects/xampp/files/ [1-3] http://aktuell.de.selfhtml.org/extras/download.shtml

Mehr

SMARTentry Notification

SMARTentry Notification Vario IT-Solutions GmbH SMARTentry Notification Dokumentation 18.02.2016 Installation und Einrichtung von SMARTentry Notification für bestehende und neue SALTO Installationen mit SHIP Schnittstelle. Inhaltsverzeichnis

Mehr

Kapitel 2 - Die Definitionsphase

Kapitel 2 - Die Definitionsphase Kapitel 2 - Die Definitionsphase SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH

Mehr

T:\Dokumentationen\Asseco_BERIT\Schulung\BERIT_LIDS7_Basiskurs\Impo rt_export\beritde_lt_do_20120918_lids7.basisschulung_import_export.

T:\Dokumentationen\Asseco_BERIT\Schulung\BERIT_LIDS7_Basiskurs\Impo rt_export\beritde_lt_do_20120918_lids7.basisschulung_import_export. LIDS 7 Import/Export Mannheim, 11.02.2013 Autor: Anschrift: Version: Status: Modifiziert von: Ablage: Christine Sickenberger - Asseco BERIT GmbH Asseco BERIT GmbH Mundenheimer Straße 55 68219 Mannheim

Mehr

Datenbank konfigurieren

Datenbank konfigurieren Sie haben eine Datenbank angelegt, jetzt müssen Sie diese noch konfigurieren. Klicken Sie auf den Titel Ihrer neu erstellten Datenbank. Die Spalten Ihrer Datenbank werden als Felder bezeichnet. Sie haben

Mehr

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html http://sourceforge.net/projects/xampp/files/ [1-3] http://aktuell.de.selfhtml.org/extras/download.shtml

Mehr

Benachrichtigungen. Installation und Konfiguration. Version 2017 Summer Release

Benachrichtigungen. Installation und Konfiguration. Version 2017 Summer Release Benachrichtigungen Installation und Konfiguration Version 2017 Summer Release Status: 28. April 2017 Copyright Mindbreeze GmbH, A-4020 Linz, 2017. Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen

Mehr

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO

Mehr

Anleitung zur Integration der /data.mill API in SAP Java Applikationen

Anleitung zur Integration der /data.mill API in SAP Java Applikationen Anleitung zur Integration der /data.mill API in SAP Java Applikationen Inhalt 1. Anlage einer HTTP Destination 1 1.1. Anmelden an SAP Cloud Platform 1 1.2. Destination Konfiguration 3 1.3. Eintragen der

Mehr

Heinz Nixdorf Institut Fachgruppe Softwaretechnik Zukunftsmeile Paderborn. Feature-Liste. im Rahmen des Softwaretechnikpraktikums 2015

Heinz Nixdorf Institut Fachgruppe Softwaretechnik Zukunftsmeile Paderborn. Feature-Liste. im Rahmen des Softwaretechnikpraktikums 2015 Heinz Nixdorf Institut Fachgruppe Softwaretechnik Zukunftsmeile 1 33102 Paderborn -Liste im Rahmen des Softwaretechnikpraktikums 2015 Inhaltsverzeichnis 1 Einleitung 1 2 Netzwerk 1 3 Spielkonfigurator

Mehr

WORDPRESS DER ANFANG WORDPRESS LOKAL AUF DEM RECHNER INSTALLIEREN

WORDPRESS DER ANFANG WORDPRESS LOKAL AUF DEM RECHNER INSTALLIEREN WORDPRESS LOKAL AUF DEM RECHNER INSTALLIEREN Bevor wir uns mit Wordpress richtig auseinander setzen können, müssen wir noch eingies erledigen damit dieses Programm auch auf unserem Rechner läuft. Wir müssen

Mehr

Hochschule Augsburg. Herzlich willkommen! 26.11.2015 Hochschule Augsburg / Fakultät Elektrotechnik, Prof. F. Haunstetter 1

Hochschule Augsburg. Herzlich willkommen! 26.11.2015 Hochschule Augsburg / Fakultät Elektrotechnik, Prof. F. Haunstetter 1 Hochschule Augsburg Herzlich willkommen! 26.11.2015 Hochschule Augsburg / Fakultät Elektrotechnik, Prof. F. Haunstetter 1 Zeitplan Zeit Aktion 14.00 Warm Up (R. H3.14) 14.15 Zielvorstellung / Projektaufgabe

Mehr

Datenbanksystem Datenbankmanagementsystem Datenbank Inhaltsverzeichnis Geschichte

Datenbanksystem Datenbankmanagementsystem Datenbank Inhaltsverzeichnis Geschichte Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte

Mehr

Kommentierung in C. Kommentierung in C. Von Sebastian Rothe 1/26. Kommentierung in C

Kommentierung in C. Kommentierung in C. Von Sebastian Rothe 1/26. Kommentierung in C Von Sebastian Rothe 1/26 Inhaltsverzeichnis 1. Programmierstil eine Übersicht 2. Motivation wozu Kommentierung? 3. Aspekte der Kommentierung 4. GLib als Beispiel 5. Dokumentationssysteme 6. Zusammenfassung

Mehr

Objektorientierte Analyse (OOA) Inhaltsübersicht

Objektorientierte Analyse (OOA) Inhaltsübersicht Inhaltsübersicht Einführung Anforderungen an die UML-Diagramme Verhalten: Use-Case-Diagramm Verhalten: Aktivitätsdiagramm Verhalten: Zustandsautomat Struktur: Klassendiagramm Seite 1 Einführung In der

Mehr

Exponent Version 5.0. Neue Funktionen

Exponent Version 5.0. Neue Funktionen Exponent Version 5.0 Neue Funktionen Projektwizard zur Erstellung neuer Projekte. Einbinden von automatischen Vorlagen. Automatische Berechnung der Messkurven Schnell-Auswertung. Automatischer Druck im

Mehr

TEAMWORK App. Erste Schritte

TEAMWORK App. Erste Schritte TEAMWORK App Erste Schritte 1. Die TEAMWORK App Mit der einfachen und intuitiven Oberfläche haben Sie nicht nur Zugriff auf alle Dateien, die Sie über Ihren PC zu TEAMWORK hochgeladen haben, Sie können

Mehr

(1)Einführung in Eclipse

(1)Einführung in Eclipse Auf diesem ersten Arbeitsblatt werdet ihr die Programmierumgebung Eclipse kennenlernen, die eure Oberfläche zum Bearbeiten des Android-Projekts Schiffe versenken sein wird. Dabei macht ihr euch einen Überblick

Mehr