Youbeq Management Platform >
Total Page:16
File Type:pdf, Size:1020Kb
MSc in Informatics Engineering Internship Final Report YoubeQ Management Platform > Nuno Fauso Da Paixão Khan [email protected] DEI Supervisor: Fernando Barros iNovmapping Supervisor: André Santos Date: 2 July 2013 youbeQ Management Platform Abstract System integration and distributed systems are essential concepts in our current web development era. When relying on these aspects, one must acknowledge the importance of having a system that is mature, secure, reliable and scalable. The internship consists on the development of a management platform, called youbeQadmin, a web based application that integrates and manages youbeQ and Smarturbia, two existing applications developed by the company. These applications, already exist as independent web applications , that are now partially integrated in one single management platform. youbeqAdmin platform manages the youbeQ statistics and Smarturbia content (APPS). It enforces a distributed architecture while allowing the integration of these two modules/applications with the original web applications and with the possibility of easily integrating new modules into the platform in the future. The development of youbeQadmin required significant modifications to Smarturbia, mostly to allow a REST communication between them and to add new features like changing the vehicle color or applying area limits for the user to explore the world. Keywords “youbeQ”, ”Smarturbia”, ”REST”, “Management”, “Web Development”,”DJANGO”, “Web Frameworks”, “youbeQadmin” 1 Index 1 Introduction.....................................................................................................6 2 State Of The Art ..............................................................................................8 2.1 Available Solutions..............................................................................................8 2.2 Web Frameworks...............................................................................................12 2.2.1 Features..................................................................................................................13 2.2.2 Advantages.............................................................................................................15 2.2.3 Disadvantages........................................................................................................16 2.3 Object-Relational Mapping (ORM)......................................................................18 2.3.1 Performance............................................................................................................18 2.3.2 ORM Main Obstacles ..............................................................................................19 2.3.3 Possible improvements for ORM..............................................................................21 2.4 Conclusion.........................................................................................................22 3 Project Planning.............................................................................................23 3.1 Software Development Process.........................................................................23 3.2 Planning.............................................................................................................25 3.2.1 First Semester.........................................................................................................25 3.2.2 Second Semester....................................................................................................26 4 Proposed Approach........................................................................................27 4.1 Requirements....................................................................................................27 4.2 Requirements Status.........................................................................................28 4.3 Use Cases..........................................................................................................31 4.4 Architecture....................................................................................................... 36 4.4.1 Component Diagram...............................................................................................37 4.4.2 youbeQ Module Architecture...................................................................................39 4.4.3 Smarturbia Module Architecture.............................................................................41 4.4.4 Tasks.......................................................................................................................45 5 Risk Analysis..................................................................................................46 6 Achievements................................................................................................47 6.1 youbeQadmin (BETA version)............................................................................47 7 Tests..............................................................................................................52 7.1 Traceability Matrix for Unit Testing.....................................................................52 7.2 Performance Testing..........................................................................................54 7.2.1 Load Testing............................................................................................................55 7.3 Usability Testing.................................................................................................56 8 Conclusions...................................................................................................57 8.1 Future Work.......................................................................................................58 Index of Tables Table 1: Definitions..............................................................................................4 Table 2: Acronyms...............................................................................................5 Table 3: Software Requirements........................................................................30 Table 4: DJANGO Framework Modules................................................................38 Table 5: Risk Analysis Problems and Solutions..................................................46 Table 6: Traceability Matrix................................................................................54 Index of Figures Figure 1: Smarturbia tour screenshot..................................................................9 Figure 2: GEFS (Google Earth Flight Simulator Screenshot)...............................10 Figure 3: Planet In Action (A-Team Van) Screenshot...........................................10 Figure 4: Sailing Alone Around the World Screenshot........................................11 Figure 5: Software Development Model in iNovmapping...................................24 youbeQ Management Platform Figure 6: Planning 1º Semester.........................................................................25 Figure 7: Planning 2º Semester.........................................................................26 Figure 8: youbeQadmin Use Case (Full View)....................................................31 Figure 9: Smarturbia Administrator Use Case....................................................33 Figure 10: Smarturbia User Use Case................................................................33 Figure 11: youbeQ Use Case Module.................................................................36 Figure 12: Component Diagram.........................................................................38 Figure 13: youbeQ Module (Full View)...............................................................40 Figure 14: youbeQ Class Diagram (Partial View)................................................41 Figure 15: Smarturbia Activity Diagram.............................................................42 Figure 16: Smarturbia Activity Diagram.............................................................43 Figure 17: Smarturbia Class Diagram (Partial View)..........................................44 Figure 18: Login Page........................................................................................47 Figure 19: Main Page.........................................................................................48 Figure 20: youbeQadmin statistics for the administrator of youbeQ and Smarturbia.........................................................................................................49 Figure 21: Smarturbia APPS...............................................................................50 Figure 22: Smarturbia APP Creation/Editing.......................................................51 Figure 23: Testing Error % Post data Load Test.................................................55 Figure 24: Testing Throughput of Post data Load Test........................................56 3 youbeQ Management Platform Definition Description APACHE STRUTS Web Framework API Is a specification intended to be used as an interface by software components to communicate with each other COUCHDB Open Source Non Relational Database DJANGO Web Framework GIT Version control system JAVASCRIPT Scripting Language JSON Lightweight data-interchange format MVC Architecture for building interactive applications MVT Architecture for building interactive applications MYSQL SQL Open Source Database NO-SQL Non-Relational Database PHP Scripting Language PYTHON Scripting Language