Final Report
Total Page:16
File Type:pdf, Size:1020Kb
TI3800 BACHELOR PROJECT FINAL REPORT AUTHORS Isha van Baar [email protected] Zakaria el Bakkali [email protected] Jurian van Dalfsen [email protected] Eveline van der Schrier [email protected] Lodewijck Vogelzang [email protected] COACH Nicolas Dintzner [email protected] CLIENT Rune van der Meijden [email protected] FORMER APPLICATION DESIGNER Noud Brasjen [email protected] COURSE COORDINATORS Martha A. Larson [email protected] Felienne Hermans [email protected] Delft University of Technology Faculty of Electrical Engineering, Mathematics and Computer Science July, 2014 FOREWORD This report serves as the official end deliverable for the TI3800 Bachelor Project. This project, also referred to as “Bachelor Eindproject” or “BEP”, is the course that finishes the Bachelor of Computer Science at Delft University of Technology. It is carried out by groups that are given the assignment to work together like a software development team, producing a real product to be used by a real client, solving a real- world problem. In this sense all knowledge that is gained in the three year studies is needed to successfully finish this project. In the case of our team, we have done a very practical project at the Nuon Solar Team. In short: our goal was to reengineer an existing telemetry application for the chase car of the Nuon Solar Car. The contents of the Bachelor Project were revealed on February the 17th. After that, the project would officially start on the 21th of April (Week 17). However, as this team needed more time for both research and development, it was decided to start on the 11th of March (Week 11). Furthermore, the project has unofficially been extended with one week, to be finished at the 11th of July (Week 28). During these weeks our team has been present full time at the Delft University of Technology, mostly at the Faculty of Electrical Engineering, Mathematics and Computer Science and often at the Nuon Solar Team workplace. We would like to thank the following persons in particular: Nicolas Dintzner, for being the best coach we could imagine: critical, supportive, smart and with a great sense of humor. We could not have wished for anyone better. Rune van der Meijden, for giving us helpful feedback, support and stories about the Nuon Solar Team. Noud Brasjen, for being present at numerous extensive sessions to give us a deeper understanding of his code and our purpose. Bart Koek, for doing the best he could to arrange us work spots and valuable time with the Nuna solar car. Arie van Deursen, for giving us a lot of support on making our code extensible, maintainable and simply looking more structured than ever before. Martha Larsson, for always answering our urgent questions about applying the general Bachelor Project rules to our special project. Isha van Baar, Zakaria el Bakkali, Jurian van Dalfsen, Eveline van der Schrier, Lodewijck Vogelzang Delft, Zuid-Holland, the Netherlands, July 2014 2 TABLE OF CONTENTS Foreword ......................................................................................................................................................................... 2 Table of contents........................................................................................................................................................... 3 Summary ......................................................................................................................................................................... 5 1. Introduction ........................................................................................................................................................... 6 2. Methodology ........................................................................................................................................................ 7 2.1 Strategy ......................................................................................................................................................... 7 2.2 Planning ........................................................................................................................................................ 7 2.3 Project roles .................................................................................................................................................. 8 2.4 Meetings ....................................................................................................................................................... 8 2.5 Resources ..................................................................................................................................................... 9 2.6 Tools ............................................................................................................................................................... 9 2.6.1 Programmer applications ................................................................................................................ 9 2.6.2 Designer applications ..................................................................................................................... 10 2.6.3 Project management applications .............................................................................................. 11 3. Research Phase .................................................................................................................................................. 12 3.1 Problem definition ..................................................................................................................................... 12 3.2 Problem analysis ........................................................................................................................................ 12 3.2.1 User requirements ............................................................................................................................ 12 3.2.2 System requirements ....................................................................................................................... 13 3.2.3 Features ............................................................................................................................................. 13 3.3 System design and structure ................................................................................................................... 16 3.4 Language and framework research ..................................................................................................... 22 3.4.1 Programming language ................................................................................................................. 22 3.4.2 GUI frameworks ................................................................................................................................ 23 3.4.3 Connection frameworks ................................................................................................................. 24 4. Development phase.......................................................................................................................................... 25 4.1 Implementations ....................................................................................................................................... 25 4.2 Extensibility of implementations.............................................................................................................. 27 4.3 Extra functionalities ................................................................................................................................... 29 4.4 Testing in development phase ............................................................................................................... 30 4.5 Development challenges ........................................................................................................................ 30 5. Concluding phase ............................................................................................................................................. 32 5.1 Testing in concluding phase ................................................................................................................... 32 5.2 SIG code evaluation ................................................................................................................................ 32 5.2.1 First evaluation .................................................................................................................................. 32 5.2.2 Second evaluation .......................................................................................................................... 33 5.3 Documentation of final product ............................................................................................................ 33 6. Results ................................................................................................................................................................... 35 6.1 Package contents .................................................................................................................................... 35 6.2 Layout of the application ........................................................................................................................ 35 6.2.1 Overview ........................................................................................................................................... 35 6.2.2 Sensor view