software engineering project winter semester 2013/14
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/AndroidAppTRANSCRIPT
Extreme Programming (A)Dmitrij Petrov, Metin Gümüssu, Kushtrim Ramaj
XP Umsetzung
Git(Hub) & Einfaches Design
Kurze Release-Zyklen & Test Phasen
Offene & aufrichtige Kommunikation, Verantwortungsbewusst
Meeting 1 bis 3Anforderungen definierenInterpretation der User Stories
Entwurf erstellenDesign (Patterns, UI Kits, Layout)Graphics (Logo etc.) Wireframing / Sketches
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
Meeting 4 bis 7
Webseite
1.Einfaches Design (HTML)
2.Front-End Framework: Twitter‘s Bootstrap 3
3.Back-End: PHP & MySQL
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
Live Demo #1
/Johnmalc/AndroidApp
http://goo.gl/TB00Kr
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
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.
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
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/
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
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