Software engineering project Winter Semester 2013/14

13
Extreme Programming (A) Dmitrij Petrov , Metin Gümüssu, Kushtrim Ramaj

description

This is a final presentation we gave about our semester project which used some of aspects of Extreme Programming. I was leader (yeah, it is important to tell) and don't forget to check out our GitHub and website. http://projekty.komentovaneudalosti.cz/android/ https://github.com/Johnmalc/AndroidApp

Transcript of Software engineering project Winter Semester 2013/14

Page 1: Software engineering project Winter Semester 2013/14

Extreme Programming (A)Dmitrij Petrov, Metin Gümüssu, Kushtrim Ramaj

Page 2: Software engineering project Winter Semester 2013/14

XP Umsetzung

Git(Hub) & Einfaches Design

Kurze Release-Zyklen & Test Phasen

Offene & aufrichtige Kommunikation, Verantwortungsbewusst

Page 3: Software engineering project Winter Semester 2013/14

Meeting 1 bis 3Anforderungen definierenInterpretation der User Stories

Entwurf erstellenDesign (Patterns, UI Kits, Layout)Graphics (Logo etc.) Wireframing / Sketches

Page 4: Software engineering project Winter Semester 2013/14

Meeting 1 bis 3Einteilung der Arbeit

Entscheidung über SW/HW Android 4.0+ Webseite [PHP & MySQL, HTML/CSS/JS (Bootstrap) ]

GitHub ~ SmartGit (SC, Wiki), Eclipse, Skype, Sublime Editor

Page 5: Software engineering project Winter Semester 2013/14

Meeting 4 bis 7

Webseite

1.Einfaches Design (HTML)

2.Front-End Framework: Twitter‘s Bootstrap 3

3.Back-End: PHP & MySQL

Page 6: Software engineering project Winter Semester 2013/14

Meeting 4 bis 7

Integration + Testing

Android

1. Google Maps Android API v2 Key

2. JSONParser Klasse für die Verbindung mit der Webseite

3. Integration unserer App und der Augmented Reality App

Page 7: Software engineering project Winter Semester 2013/14

Live Demo #1

/Johnmalc/AndroidApp

http://goo.gl/TB00Kr

Page 8: Software engineering project Winter Semester 2013/14

Backup: XP Story Cards erstellt im Sinne des festlegens genauer

Anwendungsbereiche des Programms Prioritätsfestlegung der Aufgaben und demnach arbeiten an

bestimmten Programmteilen bevorzugt Durch flexibles arbeiten mit Github und keiner genauen Zeiteinteilung

keine festlegung des Fertigstellungstermins Continuous Integration Nötige Strukturveränderungen des Systems werden durchgeführt

sobald erforderlich (Refactoring), z.B. bei nicht zusammen funktionieren von Webseite und Andoid App

Page 9: Software engineering project Winter Semester 2013/14

Backup: Design Um einen größeren Kontrast im Logo zu schaffen haben

wir uns dann für hellere Farben entschieden, Gelb, Blau & Weiß. Dies hat uns auch besser gefallen.

Dann haben wir den Ladebildschirm noch etwas angepasst (Photoshop) & fertig war das Logo.

Das Design der App haben wir schlicht & elegant gehalten, was uns ganz gut gefallen hat.

Page 10: Software engineering project Winter Semester 2013/14

Backup: Git & Github Zur Verwaltung unseres Projektes haben wir uns entschieden GitHub zu verwenden,

einen webbasierten Hosting-Dienst für Software-Entwicklungsprojekte

Das ermöglichte uns :

zentral auf die Projektdaten zu zugreifen

parallel zu programmieren

ein Wiki für die Dokumentation zu erstellen

die AndroidApp und die Webseite gleichzeitig zu verwalten

aufgrund der Möglichkeit des Zurücksetzens zu einem früheren Stadium, die Daten immer konsistent zu halten

Page 11: Software engineering project Winter Semester 2013/14

Backup: Webseite Wir haben PHP 5.4 & MySQL 5.5 wegen der vielen Dokumentationen und Dmitrij

Petrovs „shared hosting“ gewält. Ruby (on Rails) oder Python (Django) wären zwar möglich, aber mit mehr aufwand und der Voraussetzung von Virtual Private Server, was wir nicht hatten.

Einfaches Design mit Hilfe von Twitter Bootstrap 3 erstellt („mobile first front-end framework“). Nur Latitude und Longitude sind Pflichteingaben.

Am schwierigsten war die Generierung von JSON files zu schreiben – ein Weg wie Android App sich zu DB verbindet

https://github.com/johnmalc/androidApp

https://github.com/Johnmalc/AndroidApp/wiki/About-our-Project (abweicht)

http://getbootstrap.com/

Page 12: Software engineering project Winter Semester 2013/14

Backup: Android App API Key erstellen um die Google Map anzeigen zu können

Durch Dokumentationen und Workshops Kenntnisse erlangt

Google Play Library importiert, um Schnittstellen wie LocationListener zu implementieren

Layout erstellen in dem die Map später sichtbar sein soll 

Durch die Google Map Klasse die Map erstellen

Buttons in die Topbar einfügen (für ansprechendes Design)

JSON Parser Klasse hinzugefügt für die Verbindung zwischen der App und dem Server

Page 13: Software engineering project Winter Semester 2013/14

Backup: Android App Open Source Augmented Reality Klassen für die Engine hinzugefügt

ReutlingenDataSource Klasse erstellt die die POIs mithilfe der JSON Parser Klasse in die Augmented Reality Sicht hinzugefügt

SplashScreen, GMapActivity und ARAcitivity in eine App zusammengefügt