Share2pleyapp FINAL REPORT
Total Page:16
File Type:pdf, Size:1020Kb
SHARE2PLEYAPP FINAL REPORT by Marinus Jacobus Otte Richard Vink in partial fulfillment of the requirements for the degree of Bachelor of Science in Computer Science and Engineering at the Delft University of Technology. Client: Share2Pley Supervisor: Felienne Hermans Contents 1 Introduction 3 2 Problem Definition and Problem Analysis4 2.1 Problem Definition ............................................. 4 2.2 Problem Analysis .............................................. 4 2.2.1 Scanning LEGO bricks....................................... 4 2.2.2 3D objects.............................................. 5 2.2.3 Lego objects............................................. 5 2.2.4 Break down instructions ..................................... 6 2.2.5 Photo comparison......................................... 6 2.2.6 Database for the Application................................... 7 2.2.7 Playful aspect............................................ 7 2.2.8 Application ............................................. 7 2.2.9 Requirements............................................ 8 3 Design 9 3.1 Layout..................................................... 9 3.2 Use case diagram .............................................. 9 3.3 Structure ................................................... 11 3.4 Class diagrams................................................ 11 4 Implementations 16 4.1 SCRUM .................................................... 16 4.2 Implementations per week......................................... 16 4.2.1 Week 1................................................ 16 4.2.2 week 2 ................................................ 18 4.2.3 Week 3................................................ 19 4.2.4 Week 4................................................ 20 4.2.5 Week 5................................................ 22 4.2.6 Week 6................................................ 22 4.2.7 Week 7................................................ 22 4.2.8 Week 8................................................ 23 5 Code Quality 25 5.1 Model View Controller ........................................... 25 5.2 SIG....................................................... 25 5.2.1 First submission .......................................... 25 5.2.2 Second submission ........................................ 25 5.3 Testing..................................................... 25 5.3.1 Unit Testing............................................. 25 5.3.2 System Testing ........................................... 26 6 Process 27 6.1 Collaboration between the team members ............................... 27 6.2 Collaboration between the developers and the client ......................... 27 6.2.1 Changes of the requirements................................... 27 1 CONTENTS 2 7 Conclusion 29 7.1 Conclusion.................................................. 29 7.2 Evaluation .................................................. 29 7.3 Problem definition ............................................. 30 7.4 Discussion and Recommendations.................................... 30 7.4.1 Contact with client......................................... 30 7.4.2 Time spend on non-technical aspects.............................. 30 7.4.3 Final result ............................................. 30 7.4.4 Future development........................................ 30 A SIG analysis 32 A.1 Week 1..................................................... 32 A.2 Week 2..................................................... 32 B SCRUM 34 C Project Description 43 D Infosheet 44 E Flyer 45 Bibliography 47 PREFACE This is the report for the Bachelor’s Thesis written by Marijn Otte and Richard Vink as part of the Bachelor Computer Science Program at Delft University of Technology. In ten weeks an application for Share2Pley has been made. The report contains all the information of this project. We would like to thank our clients: Olav Bongarts and Jan Hendrikx. Thanks for giving us the opportunity to develop an innovating new type of software. Secondly, we want to thank Felienne Hermans who guided us through this project and gave us great feedback. We could always ask her for help, even if she was not officially at work. Marijn Otte Richard Vink Delft, June 2015 1 SUMMARY Share2Pley is a company that loans LEGO sets on holiday parks to people who are on a holiday. After these sets are returned, the completeness of these sets needs to be checked. Currently, this is done by weighting the returned set. This is not error-prone because each balance scale has a deviation of a few grams. A LEGO brick only weights a few grams, so if only one or two bricks are missing this will not be notified. On top of that, this method is labor-intensive. Share2Pley wants checking if a set is complete to be automated using a software application (app) for mobile phones. The goal was to develop an app that would guide the user, most of the time a child, to clear the LEGO set. The challenge is to make sure the set will be returned complete, and the user has fun in clearing the set. After some research and some changes through the process this has resulted in an app that guides the user to clear the set. For 30 bricks an instructions will be given to clear that brick, and for one brick is asked to take a photo. To check if a photo of the correct brick is made, image processing is used. For each instruction the child can notify if a brick is missing. As playful aspect a timer is implemented. A time limit is set, and if the child disassembles the set within the time, a complimentary message is given to the child. A report is made including the photo that is made and an overview of the missing bricks. This report needs to be shown at the information desk, so the deposit can be returned. The API of www.brickset.com is implemented. If the client decides to purchase more sets, they can be added easily through www.brickset.com. 2 1 INTRODUCTION The purpose of this report is to discuss the application developed for Share2Pley. Share2Pley is a company specialized in loaning toys, especially LEGO sets. Most of the customers are people going on holiday. Sharing toys makes sure that families can leave their own toys at home. This saves space and gives children the chance to play with other toys then their own. Loaning toys at holiday parks sounds as an ideal solution. Especially using LEGO. This is because most of the time children like the building aspect of LEGO the most, which means that after the build children will play less to nothing with their set. Often the sets take a lot of space. When a LEGO set has been loaned the children can build the set. When the child is done playing, it can return the set to the reception. This saves a lot of money for the parents, and has almost the same fun factor for the child as buying a set. Loaning LEGO at holiday parks currently consists of a sequence of steps. First, before going on holiday, the customer will receive an e-mail with the latest information. This mail contains general information about the park, but also information about loaning LEGO from Share2Pley. By sending advertisements, parents know they can leave their children’s toys at home. At the park flyers of Share2Pley can be found and the advertisement of Share2Pley is displayed on the park’s tv channel. Another marketing strategy is that the location where the sets can be loaned is on the floorplan of the park. If a family decides to loan a LEGO set, a set can be picked up at the reception. The family gets a bag containing the bricks to build the LEGO set, the instructions and a plastic bag to put in the bricks after disassembling the set. Once arrived at their holiday spot, the children can build the set and play with it. At the end, the set has to be cleared and handed in at the reception. To do this, the child will disassemble the set brick by brick and put those bricks in the included plastic bag. When the set is handed in, it will be weighted at the reception. When the deviation is less than 10 gram compared to the official weight of the set, the set is defined as complete. The child will get a present in the form of a small LEGO set. The current clearing process does not work optimal. The deviation of the balance scale is often higher than 10 gram. A LEGO brick often weights about 5 gram, so it will not be noticed if 1 or 2 bricks are missing. A more efficient way of verification is desirable. A solution is an app which helps the user disassemble the LEGO wet, and return the set complete. The next chapters will discuss the development process of the app. At chapter 2 a problem definition is given. This problem definition will be analyzed so that the optimal solution will be implemented. Based on the results of the analysis a list of requirements is made. The chosen layout is explained in chapter 3. The requirements are used to create use case diagrams and class diagrams. Chapter 4 describes the implemen- tation phase. For each week the implemented functions are discussed. It also explains the opinion of the client after each implementation. The results of the code submissions to SIG are analyzed in chapter 5. Also, the different testing techniques are discussed. The collaboration between team members, developers and the client is analyzed in chapter 6. The changes in the requirements based on the opinion of the client are described as well. Chapter 7 discusses if the requirements are fulfilled and if all the goals of the problem definition are accomplished. It discusses the parts that went well, but also the parts that went