Software Systems Engineering. Dr. Holger Eichelberger eichelberger@sse.uni-hildesheim.de



Ähnliche Dokumente
Dr. Holger Eichelberger

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Kurzanleitung für das Bezahlen mit dem Kartenlesegerät von VASCO girocard im Internet

Erstsemesterbegrüßung

Installation und Inbetriebnahme von Microsoft Visual C Express

Was ich als Bürgermeister für Lübbecke tun möchte

Die Wasser App.

FEHLER! TEXTMARKE NICHT DEFINIERT.

2. Installation der minitek-app auf einem Smartphone. 3. Verbindung zwischen minitek-app und minitek herstellen

SP-2101W Quick Installation Guide

SP-1101W/SP-2101W Quick Installation Guide

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

QUECHUA PHONE 5 DAS ERSTE MOUNTAINPROOF SMARTPHONE. Gebrauchsanleitung Android. Schlagfest Dichtigkeit Autonomie Apps die für das Wandern

Bluefire Reader für ipad & iphone

Einführung in Eclipse und Java

Der schnelle Weg zu Ihrer eigenen App

GeoPilot (Android) die App

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Einrichtung des WLANs so funktioniert s // DHBW Mosbach / Campus Bad Mergentheim / IT Service Center

TeamSpeak3 Einrichten

Übung: Verwendung von Java-Threads

Android-Apps Google-Maps v2

ROFIN App Benutzerhandbuch. Version 1.0

Version 0.3. Installation von MinGW und Eclipse CDT

SBB Schulung für digitale Fahrplanabfrage und Ticketkäufe.

icloud nicht neu, aber doch irgendwie anders

E-Banking so richten Sie Ihren Zugriff ein

Battlefield 2 BF2CCD Anleitung

PC/Mac oder Smartphone/Tablet. Compi-Treff vom 9. Januar 2015 Thomas Sigg

oder ein Account einer teilnehmenden Einrichtung also

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

SP-1101W Schnellanleitung

DOKUMENTATION VOGELZUCHT 2015 PLUS

Der Kalender im ipad

s zu Hause lesen

Bedienungsanleitung für den SecureCourier

Erstellen der Barcode-Etiketten:

Starten der Software unter Windows 7

Rooten eines Android-Telefones. Hanno 'Rince' Wagner, Chaos Computer Club Stuttgart

Was man mit dem Computer alles machen kann

! " # $ " % & Nicki Wruck worldwidewruck

Fotostammtisch-Schaumburg

1 Vom Problem zum Programm

1 Was ist das Mediencenter?

Installation. Windows. E-mP Ernst-mechanische Produkte Auf die Bell Linkenheim-Hochstetten Deutschland

Dieses Dokument beschreibt die Verbindungsherstellung mit dem WLAN-Netzwerk der PHLU auf Smartphones. hotline.hslu.ch Andere

Gruppenrichtlinien und Softwareverteilung

BILDER TEILEN MIT DROPBOX

Nie wieder eine Sitzung verpassen unser neuer Service für Sie!

WOT Skinsetter. Nun, erstens, was brauchen Sie für dieses Tool zu arbeiten:

Präsentation Von Laura Baake und Janina Schwemer

Tipp: Proxy Ausschalten ohne Software Tools

Leichte-Sprache-Bilder

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint

Section A: Allgemeine Fragen

LEHRSTUHL FÜR DATENBANKEN

Malistor-Archiv Mit der Version haben wir die Archivfunktion in Malistor verbessert.

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Installationsanleitung WSCAD Elektrohandwerk

Windows wird nicht mehr unterstützt Was bedeutet das? Was muss unternommen werden? Compi-Treff vom 9. Mai 2014 Thomas Sigg

Informatik 1 Tutorial

Windows 10 > Fragen über Fragen

Apple Train the Trainer 08 Developer Programs. Josef Kolbitsch

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Umstieg auf Microsoft Exchange in der Fakultät 02

Wie halte ich Ordnung auf meiner Festplatte?

Diese Anleitung erläutert die Einrichtung des Active Directory Modus im DNS-343.

Leitfaden für E-Books und Reader von Sony

Datenabgleich. Meine Welt auf einen Blick erleben.

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

Fotos verkleinern mit Paint

COMPUTERIA VOM Wenn man seine Termine am Computer verwaltet hat dies gegenüber einer Agenda oder einem Wandkalender mehrere Vorteile.

Konventionen. Danksagung

Anleitung. Für folgende Produkte: BeoSound 5 / BeoSound 5 Encore / DLNA Client Stereoanlagen

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Starten der Software unter Windows XP

4.1 Download der App über den Play Store

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Meine Welt auf einen Blick erleben.

1 Vorraussetzungen. 2 Installiere Eclipse. FS 2015 Herausgabe: Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich

Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach

Sie finden im Folgenden drei Anleitungen, wie Sie sich mit dem Server der Schule verbinden können:

DATENSICHERUNG MOBILE ENDGERÄTE

Installation EPLAN Electric P8 Version Bit Stand: 07/2014

FritzCall.CoCPit Schnelleinrichtung

Hilfe-Blatt: Ausgabenkontrolle

25 Import der Beispiele

Der Weg zur eigenen App

INTERNETZUGANG UND DATENBANKEN IM ZRS

Übung - Konfigurieren einer Windows-XP-Firewall

iphone- und ipad-praxis: Kalender optimal synchronisieren

Tess TeSign nutzen mit App's"! iphone und Bria Informationen zur Nutzung

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Lesen und Kaufen von ebooks über den Online-Shop Ihrer Buchhandlung

Selbstdatenschutz. -Inhalte schützen. Verschlüsselung mit GPGTools for Mac. Was ist GPGTools? Woher bekomme ich GPGTools?

Transkript:

Schüler-Uni eichelberger@sse.uni-hildesheim.de

Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App? 10 5. War das smart? Geht es smarter? 22 6. Ist Informatik etwas für mich? 25, AG SSE 1

Wer ist das? Wer ist das? Geboren in Franken WDR Computerecke Erster Computer Schule: Wahlkurs Informatik Studium in Würzburg Abschluss und Doktorarbeit in Würzburg Jetzt: SSE Uni Hildesheim Programmierpraktikum I, AG SSE 2

Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App? 10 5. War das smart? Geht es smarter? 22 6. Ist Informatik etwas für mich? 25, AG SSE 3

Was ist ein Smartphone? Was ist ein Smartphone?, AG SSE 4

Was ist ein Smartphone? Sind alle Smartphones gleich? Gerät: Display, Sensoren, Akko Betriebssystem Apple ios: iphone Google Android: HTC, Samsung, Sony, LG, Motorola, Windows Phone: HTC, LG, Samsung, Nokia, Apps Apple App Store > 580.000 Google Play > 360.000 Microsoft Marketplace ~20.000 jeder kann Apps entwickeln., AG SSE 5

Was ist ein Smartphone? Ist das was für mich? Ich habe kein Smartphone Ich kann aber nicht Programmieren Geht dabei mein Smartphone kaputt? Ziel: Kleines Spiel Zutaten: Man nehme ein wenig Idee Mathematik Programmierverständnis Alle Folien und Beispiele unter www.sse.uni-hildesheim.de, AG SSE 6

Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App? 10 5. War das smart? Geht es smarter? 22 6. Ist Informatik etwas für mich? 25, AG SSE 7

Wie entwickelt man für Smartphones? Wie funktioniert Software-Entwicklung? Anforderungen Entwurf Smart? Programm (Quelltext) Android: Java iphone: ObjectiveC Die Entwicklungsumgebung ist kostenlos Download Ausführbares Programm Android: Eclipse iphone: Xcode (nur Mac) Test 8

Wie entwickelt man für Smartphones? Was sind unsere Anforderungen? Das Spiel muss aus einem einfachen Spielfeld bestehen. Es muss eine Schlange dargestellt werden. Die Schlange muss sich bewegen. Der Schlange soll durch Neigung des Smartphones gesteuert werden. Das Spiel kann Spielregeln haben Punkte (positiv, negativ) Spielende (Game over) Das Spiel kann weitere Funktionalität bereitstellen Highscore-Tabelle Hauptmenü, Hilfe, Einstellungen Nicht heute! 9

Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App? 10 5. War das smart? Geht es smarter? 22 6. Ist Informatik etwas für mich? 25, AG SSE 10

Wie bauen wir die App? Wie zeichnen wir eine Schlange mit dem Smartphone? (1) Mathematik: Koordinatensystem 0,0 20 320 x Was können wir damit machen? 34 72 104 480 y Linien, Rechtecke, Text, Bilder 2D und 3D Grafik mit Schatten (nicht jetzt) Bei der Schlange fehlt was Hausaufgabe Was passiert, wenn das Display eine andere Größe hat? Bibliothek, die sich darum kümmert Ggf. geeignete Bilder bereitstellen Smart? 11

Wie zeichnen wir eine Schlange mit dem Smartphone? (2) Typisches Vorgehen In Eclipse ein neues Android-Projekt anlegen Name eingeben Android Ziel-Version auswählen Paketname eingeben, z.b. de.schueleruni Das neue Projekt kann direkt ausgeführt werden Auf dem Smartphone: Menu Settings Applications Development USB debugging Auf dem Projekt rechte Maustaste drücken Run as Android Application Wir verwenden ein vorbereitetes Projekt, das uns die Arbeit erleichtert. 12

Wie zeichnen wir eine Schlange mit dem Smartphone? (3) Relevanter Ausschnitt: public void present(float deltatime) { Graphics g = game.getgraphics(); g.drawpixmap(assets.background, 0, 0); } g.drawpixmap(assets.headup, 20, 34); g.drawpixmap(assets.tail, 20, 72); g.drawpixmap(assets.tail, 20, 104); 13

Wie bauen wir die App? Wie bewegt sich die Schlange? links! links! runter! rechts! hoch! rechts! Erkenntnisse: Rasterpositionen vereinfachen die Arbeit Wir benötigen vier Richtungen Die Richtung bestimmt die nächste Position des Kopfes Plan: Alle restlichen Teile werden genau auf die Position des Vorgängers gesetzt Dann wird die Position des Kopfes gesetzt 14

Wie bauen wir die App? Was passiert an den Kanten? hoch! hoch! hoch! Wenn die Kopf-Position kleiner 0, dann mache an größter Raster- Position weiter. rechts! rechts! rechts! Wenn die Kopf-Position größer als Raster, dann mache an 0 weiter. 15

Wie bauen wir die App? Wie verwalten wir die Schlange? Wir beschreiben eine Schlange durch Bewegungsrichtung des Kopfes Ihre Teile als Liste, wobei jedes Teil x-position (Ganzzahl, in Rastereinheiten) y-position (Ganzzahl, in Rastereinheiten) Teile In Java (vereinfacht) class SnakePart { class Snake { int x, y; Direction direction; } List<SnakePart> parts; } 16

Wie bauen wir die App? Wie sieht der Bewegungs-Algorithmus aus (update-methode)? SnakePart head = parts.get(0); // Setze alle Teile auf die Position des Vorgängerteils for (int i = parts.size(); i > 0; i--) { before = parts.get(i-1); part = parts.get(i); part.x = before.x; part.y = before.y; } // Setze neue Kopfposition aufgrund der Liste if (direction == Direction.UP) { head.y -= 1; } // analog DOWN, LEFT, RIGHT // Korrigiere Randpositionen falls notwendig if (head.x < 0) { head.x = WORLD_WIDTH; } // analog x>word_width, y<0, y>world_height 17

Wie bauen wir die App? Wie wird die Schlange gezeichnet (present-methode)? Zeichnen der Schlange Für alle Teile in der Liste: zeichne an (x * Rasterbreite, y * Rasterhöhe) In Java SnakePart head = parts.get(0); drawpixmap(head.getpixmap(), head.x * WORLD_CELL_WIDTH, head.y * WORLD_CELL_HEIGHT); for (int i = parts.size(); i > 0; i--) { drawpixmap (Assets.tail, parts.get(i).x * WORLD_CELL_WIDTH, parts.get(i).y * WORLD_CELL_HEIGHT); } 18

Wie bauen wir die App? Wie können wir mit dem Smartphone die Schlange steuern? (1) Beschleunigungssensor Drei Achsen Werte als Anteile der Beschleunigungskonstanten g Für den Wurm bedeutet x < 1 rechts x > 1 links y < 1 hoch y > 1 runter. Sonst steht der Wurm Smart? z > 0 z < 0 19

Wie bauen wir die App? Wie können wir mit dem Smartphone die Schlange steuern? (1) float accelx = game.getinput().getaccelx(); float accely = game.getinput().getaccely(); dir = Direction.UNDEFINED; if (accelx < -1) { dir = Direction.RIGHT; } else if (accelx > 1) { dir = Direction.LEFT; } else { if (accely < -1) { dir = Direction.UP; } else if (accely > 1) { dir = Direction.DOWN; } } 20

Wie kann ich nun zuhause selbst entwickeln? Java installieren (oracle.com) Android SDK installieren (developer.android.com) Mindestens: 2.3.3 (API 10), 2.2 (API 8), 1.5 (API 3) Android Virtual Device (AVD) konfigurieren (für Android 2.3) Eclipse installieren (www.eclipse.org) Android plugin für Eclipse installieren Help Install new Software, dort als Quelle eingeben http://dl-ssl.google.com/android/eclipse/ Installationsort des Android SDK eingeben Beispiele in Eclipse importieren via File Import General Existing Project into Workspace 21

Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App? 10 5. War das smart? Geht es smarter? 22 6. Ist Informatik etwas für mich? 25, AG SSE 22

War das smart? Geht es smarter? Was war bislang smart? Wir haben nicht drauflos gehackt! Wir haben Android nicht direkt verwendet sondern über eine Bibliothek. Skaliert die Ausgaben Gleicht Unterschiede der Betriebssysteme aus Ist wiederverwendbar In Industrie: domänen-spezifisch Konzentrieren auf das Wichtige Beispiel: Physik-Engines wie phys2d, emini, metali Wir haben Android-Sensoren ausgenutzt 23

War das smart? Geht es smarter? Geht es smarter? Energie Smartphones sind anders 97 Wunsch: Automatische Optimierung des 95 Energieverbrauchs Wunsch: Entwicklung für mehrere Plattformen Android, Windows, iphone 99 93 91 89 87 85 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 0 1 2 3 4 5 6 7 8 24

Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App? 10 5. War das smart? Geht es smarter? 22 6. Ist Informatik etwas für mich? 25, AG SSE 25

Ist Informatik etwas für mich? Was macht ein Informatiker? Programmieren? Berater (Consultants) Software Entwicklung Lehre / Forschung Gibt es Stellen? Männerberuf? Softwareentwickler für das Warenwirtschaftssystem eevolution ngroup, Hildesheim IT Consultant in Frankfurt Projektmanager im Dialogmanagement bei www.otto.de Otto GmbH & Co. KG Prozessmanagement Schahper METRO Group Qualitätsmanagement im Gutenberg Rechenzentrum GmbH & Co. KG, Hannover IT-Consultant bei arvato services (Bertelsmann) Strategischer Einkauf bei der NEOMAN Bus GmbH Projektmanagement und Softwareentwicklung bei der Hochschul-Informations- System GmbH, Hannover LANDRÉ GmbH im Bereich Merchandising und Vertriebscontrolling Vertriebsmanagerin bei der HIS GmbH, Hannover Junior Process Expert CRM bei der OSRAM GmbH Logistischer Änderungsdienst bei der NEOMAN Bus GmbH Anwendungsdesignerin bei der FinanzIT Internationales Trainerprogramm StartUp Cross bei Volkswagen Nutzfahrzeuge, AG SSE 26

Ist Informatik etwas für mich? Ist das was für mich? Spaß am Problemlösen Interesse an Mathematik Keine Abneigung gegen Englisch, AG SSE 28 27