eXamen.press eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildung vermittelt. Weitere Bände in dieser Reihe http://www.springer.com/series/5520 Marc Schickler • Manfred Reichert Rüdiger Pryss • Johannes Schobel Winfried Schlee • Berthold Langguth Entwicklung mobiler Apps Konzepte, Anwendungsbausteine und Werkzeuge im Business und E-Health Marc Schickler Johannes Schobel Institut für Datenbanken und Institut für Datenbanken und Informationssysteme Informationssysteme Universität Ulm Universität Ulm Ulm Ulm Deutschland Deutschland Manfred Reichert Winfried Schlee Institut für Datenbanken und Klinik und Poliklinik für Psychiatrie Informationssysteme und Psychotherapie am Bezirksklinikum Universität Ulm Universität Regensburg Ulm Regensburg Deutschland Deutschland Rüdiger Pryss Berthold Langguth Institut für Datenbanken und Klinik und Poliklinik für Psychiatrie Informationssysteme und Psychotherapie am Bezirksklinikum Universität Ulm Universität Regensburg Ulm Regensburg Deutschland Deutschland ISSN 1614-5216 eXamen.press ISBN 978-3-642-33056-8 ISBN 978-3-642-33057-5 (eBook) DOI 10.1007/978-3-642-33057-5 Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillier- te bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. Springer Vieweg © Springer-Verlag Berlin Heidelberg 2015 Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht ausdrücklich vom Urheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung des Verlags. Das gilt insbesondere für Vervielfältigungen, Bearbeitungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Ver- arbeitung in elektronischen Systemen. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Der Verlag, die Autoren und die Herausgeber gehen davon aus, dass die Angaben und Informationen in diesem Werk zum Zeitpunkt der Veröffentlichung vollständig und korrekt sind. Weder der Verlag noch die Autoren oder die Herausgeber übernehmen, ausdrücklich oder implizit, Gewähr für den Inhalt des Werkes, etwaige Fehler oder Äußerungen. Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier Springer Berlin Heidelberg ist Teil der Fachverlagsgruppe Springer Science+Business Media (www.springer.com) Vorwort Völlig unabhängig davon, ob man sich als Anwendungsentwickler gleich in den Anfängen der mobilen Anwendungen detaillierter mit deren Entwicklung bzw. mit den Besonder- heiten dieser Thematik auseinandersetzte oder dies erst zu einem späteren Zeitpunkt tat, das Ergebnis ist stets ähnlich. Zum einen gelangt man sehr schnell zu der Erkenntnis, dass diese Art der Anwendungsentwicklung aus verschiedenen Gründen sehr komplex ist. Zum anderen gelangt man zur Einsicht, dass diese sich erheblich von der Art, Anwendungen für PC-Systeme zu entwickeln, unterscheidet. Obwohl in den verschiedenen App-Stores mitt- lerweile eine nicht mehr überschaubare Menge von Anwendungen zu finden ist, sind die Qualitätsmerkmale dieser angebotenen mobilen Anwendungen nicht in der Breite besser geworden. Mobile Anwendungsentwickler konnten in den letzten Jahren viele Erfahrun- gen sammeln, dennoch sind die Unterschiede bei vorhandenen Anwendungen hinsichtlich der Funktionen auffallend groß. Dies zeigt sich vor allem bei solchen Funktionen, die dem gleichen Zweck dienen. Standards oder Quasistandards zur Entwicklung einer mobilen Anwendung sucht ein Anwendungsentwickler – trotz vieler Hilfsanwendungen der Her- steller – in den meisten Fällen vergeblich. Doch nicht nur die Entwicklungsart lässt Stan- dards vermissen, auch für das Design einer mobilen Anwendung werden bislang kaum Standards angeboten. In letzterem Fall existieren jedoch Guidelines der Hersteller, die zu- mindest einen gewissen Standard vorgeben. Unglücklicherweise betreffen die Guidelines auch nur Basisfälle, möchte man hingegen individuelle Lösungen entwickeln, helfen die Guidelines nur noch bedingt weiter. Auch konnte beispielsweise der Weg von Apple, einen Begutachtungsprozess für mobile Anwendungen einzuführen (eine mobile Anwendung wird nach Einstellen in Apples AppStore erst dann freigegeben, wenn diese von Apple als würdig befunden wurde), nur bedingt zu besseren Ergebnissen führen. So stellt dieser Be- gutachtungsprozess mehr einen Weg dar, dass rechtliche Rahmenbedingungen eingehalten werden, und weniger, dass eine mobile Anwendung gemäß standardisierter Vorgehens- weisen gut programmiert ist. Die durchgeführten Projekte haben gezeigt, dass die Entwicklung mobiler Anwendun- gen sehr komplex ist. Aus unserer Sicht existiert bislang kein Leitfaden, welcher den Ent- wickler einer mobilen Anwendung unterstützt, die Komplexität beherrschbarer zu machen. V VI Vorwort Vielmehr sind es die Erfahrungen mit verschiedenen Ansätzen und insbesondere auch die Rückkopplung der Anwender bei der Verwendung einer mobilen Anwendung, wel- che die Fähigkeiten, mobile Anwendungen effizient zu entwickeln, verbessern. Nach- dem unsere Projekte aus sehr heterogenen Anwendungsgebieten stammen, möchten wir einen kleinen und ausgewählten Teil dieser Erfahrungen mit diesem Buch weitergeben. So mussten wir feststellen, dass sich viele Fragen bei jedem Projekt wiederholen. Aus diesem Grund sollen von uns erlebte Erfahrungen, die solche wiederkehrenden Fragen adressieren, an interessierte Leser weitergegeben werden. Ein weiterer Grund, der unsere Erfahrungen für Leser interessant machen könnte, ist die Tatsache, dass alle Projekte im universitären Umfeld entstanden sind. Die mobilen Anwendungen sind ausschließlich aus universitären Projekten hervorgegangen und damit wurden diese von Studenten mit sehr unterschiedlichem Kenntnisstand entwickelt. Alleine die unterschiedlichen Kenntnisstän- de zeigten uns sehr gut auf, für welches Projekt welche Art der Anwendungsentwicklung am geeignetsten ist. Wir hoffen dem Leser mit dem Inhalt dieses Buchs Handlungsemp- fehlungen an die Hand geben zu können, um zu Beginn eines eigenen Projekts Entschei- dungen besser treffen zu können. Nachdem wir im Rahmen dieses Buchs ein Projekt voll- ständig präsentieren, können auch Handlungsempfehlungen für den Verlauf eines Projekts abgeleitet werden. Wir wünschen viel Spaß beim Lesen und freuen uns auf Anregungen, Kritik und Rückmeldung. Wir möchten nicht vergessen, einige Personen namentlich zu nennen, die zum Gelin- gen dieses Buchs beigetragen haben. Ohne ihren Einsatz wäre dieses Buch nicht möglich gewesen. Zuerst möchten wir Jochen Herrmann besonders erwähnen, der wesentlich die Programmierung des Projekts Track Your Tinnitus durchgeführt, mitgestaltet und auch mitgeleitet hat. Ferner möchten wir Danke an Aliyar Aras sagen, der im Projekt entschei- dende Beiträge zum Thema Usability geleistet hat. Ein weiterer Dank zum Thema Usabi- lity gebührt Viktor Dötzel, der sich ebenfalls zu diesem Aspekt entscheidend eingebracht hat. Um die Plattform in ihrer gesamten Außendarstellung zu verbessern, hat sich Steffen Scherle im Projekt sehr verdient gemacht, auch ihm gilt unser Dank. Des Weiteren wollen wir den Geldgebern unserer Forschungsarbeiten zum chronischen Tinnitus danken: der Tinnitus Research Initiative (TRI) für die langjährige Unterstützung sowie COST, wel- ches das TINNET-Projekt (BM1306) zur Aufklärung der Tinnitusheterogenität fördert. Als Letztes möchten wir Christian Kippes und Susanne Staudinger danken, die mit Rat, Tat und Teststunden dem Projekt hilfreich zur Seite standen. Dipl.-Inf. Marc Schickler, Prof. Dr. Manfred Reichert, Dipl.-Inf. Rüdiger Pryss, Johannes Schobel, M. Sc., Dr. Winfried Schlee, PD Dr. med. Berthold Langguth Inhaltsverzeichnis 1 Einleitung 1 11 Motivation 2 12 Aktuelle Situation 4 121 Auftraggeber 4 122 Entwicklersicht 5 13 Anwendungsbeispiel 6 14 Aufbau 6 15 Zusammenfassung 7 Literatur 7 2 Hintergrundinformationen: Tinnitus und die Bedeutung von Track Your Tinnitus für die klinische Forschung 9 21 Das Krankheitsbild Tinnitus 9 22 Ursachen für den Tinnitus und Behandlungsansätze 10 23 Herausforderungen für die klinische Forschung 11 Literatur 12 3 Anforderungen 13 31 Funktionale Anforderungen 13 32 Nichtfunktionale Anforderungen 13 4 Arten der Anwendungsentwicklung 17 41 Ansätze zur Entwicklung mobiler Anwendungen 17 411 Native Anwendungen 18 412 W ebanwendungen 18 413 Hybride Anwendungen 19 42 Erfahrungen aus bisherigen Projekten 21 43 Wahl des Entwicklungsansatzes 22 Literatur 24 VII VIII Inhaltsverzeichnis 5 Umfrage 25 51 A ufbau und Ziel der Umfrage 25 52 A uszüge aus der Umfrage 27 53 A uswertung der Umfrage 27 54 Fazit 28 Literatur 28 6 User-Interface-Styleguides 31 61 A ndroid 4 + 32 611 T hemes 32 6.1.2 Typografie 33 613 Farben 34 614 Icons 35 615 Logo 36 616 Schreibstil 36 617 A ction Bar 37 62 iOS 7 38 621 T hemes und Design 38 6.2.2 Typografie 39 623 Farben 39 624 Icons 40 625 Navigation Bar und Segmented Control 41 Literatur 42 7 Vorstellung des Track-Your-Tinnitus-Rahmenwerks 43 71 V orstellung der Webseite 43 711 Startseite 43 712 Benutzerbereich 44 713 A usfüllen eines statistischen Fragebogens 45 714 A ntwortmöglichkeiten bei statistischen Fragebögen 47 715 Ergebnisse 48 7.1.6 Administrationsoberfläche 49 7161 Verwaltung der statistischen Fragebögen 50 7162 Verwaltung der Fragen eines Fragebogens 50 7163 V erwaltung von Benutzern und Benutzergruppen 50 7164 Erstellung eines neuen API-Clients 50 72 V orstellung der mobilen Anwendungen für iOS und Android 51 721 Anmeldung mit Benutzername und Kennwort 51 722 Registrierung innerhalb der Anwendung 52 723 Statistische Fragebögen 54 724 Hauptmenü 55 725 Fragebogen zur Überwachung der Tinnituswahrnehmung 56 Inhaltsverzeichnis IX 726 Benachrichtigungseinstellungen 57 7261 Benachrichtigungsart „Standard“ 59 7.2.6.2 Benachrichtigungsart „Benutzerdefiniert“ 59 727 Einstellungen 60 728 Ergebnisse 60 7281 Ergebnisse in Diagrammen 61 7282 Ergebnisse in einer Timeline 62 729 About 64 Literatur 65 8 Architektur 67 81 Architekturübersicht 67 82 Genereller Ablauf 67 83 Datenstrukturen 70 831 Datenstruktur der Fragebögen, Fragen und Antworten 71 832 Datenstruktur der Lokalisierung der Fragebögen 73 833 Datenstruktur der Antworten 74 834 Datenstruktur der Benutzer und Gruppen 75 835 Datenstruktur der OAuth2-API 76 84 A rchitektur der mobilen Anwendungen 77 841 iOS-Anwendung 77 8411 V iew Controller 77 8412 T able Cells 79 8413 Datenmodell 81 8414 Eigene Views und Controls 83 842 A ndroid-Anwendung 84 8421 Log-in, Registrierung und Hauptmenü 84 8422 Hauptfunktionen 86 8423 Model 88 8424 Custom Views, Receiver und Services 89 Literatur 90 9 Implementierung 93 91 Entwicklung der Webseite 93 911 Einführung in das Laravel-Framework 93 912 Controller und RESTful Controller 94 913 Eloquent ORM 95 9131 A bfragen des Datenmodels 95 9132 Erstellen und Bearbeiten von Datensätzen 97 9133 Beziehungen zwischen Tabellen 98 91331 One-to-one 98 91332 One-to-many 99
Description: