Techniques for Software Portability in Mobile Development
Total Page:16
File Type:pdf, Size:1020Kb
Master Thesis Software Engineering Thesis no: MSE-2009:03 January 2009 Techniques for Software Portability in Mobile Development Andreas Johansson and Jonas Svensson School of Engineering Blekinge Institute of Technology Box 520 SE – 372 25 Ronneby Sweden This thesis is submitted to the School of Engineering at Blekinge Institute of Technology in partial fulfillment of the requirements for the degree of Master of Scien ce in Software Engineering. The thesis is equivalent to 40 weeks of full time studies. Contact Information: Authors: Andreas Johansson E-mail: [email protected] Jonas Svensson E-mail: [email protected] University advisor: Mia Persson Department of Systems and Software Engineering School of Engineering Internet : www.bth.se/tek Blekinge Institute of Technology Phone : +46 457 38 50 00 Box 520 Fax : + 46 457 271 25 SE – 372 25 Ronneby Sweden ii ABSTRACT When attempting to get a software product to reach a larger part of the market, portability is a key factor. Unfortunately, it is often neglected from the software development cycle, and rather achieved by ad hoc methods in not very cost-effective ways. This thesis investigates portability in the context of mobile development. Previous research in this particular area has been hard to find, despite there obviously being special aspects surrounding it which are worth investigating further. The project was initiated with a literature study to find out the current state-of-the-art for portability. After this step the development of a mobile application was conducted, before which a market analysis had been carried out in order to explore which mobile platforms would be the most relevant to develop it for. The point of this case study was to attempt to achieve as high a degree of portability as possible, to later port the application to another platform. Based on the data gathered from this, conclusions were drawn and a general model with guidelines for developing mobile applications with portability as a main attribute was constructed. Among the more important lessons learned was that portability is more important in mobile development, due to the market being so diverse, while it also is a lot harder to achieve properly. This research will hopefully help development teams see the strengths and weaknesses of mobile application portability more clearly, allowing them to more easily design for it as well as making it a more intricate part of their process. Keywords: Mobile Development, Portability. 1 CONTENTS TECHNIQUES FOR SOFTWARE PORTABILITY IN MOBILE DEVELOPMENT..................I ABSTRACT .......................................................................................................................................... 1 CONTENTS.......................................................................................................................................... 2 LIST OF FIGURES.............................................................................................................................. 4 LIST OF TABLES................................................................................................................................ 5 1 INTRODUCTION ....................................................................................................................... 6 1.1 BACKGROUND ....................................................................................................................... 6 1.2 AIMS AND OBJECTIVES ........................................................................................................... 7 1.3 RESEARCH QUESTIONS ........................................................................................................... 7 1.4 THESIS OUTLINE .................................................................................................................... 7 2 METHODOLOGY ...................................................................................................................... 9 2.1 OVERVIEW ............................................................................................................................. 9 2.2 LITERATURE STUDY ............................................................................................................. 10 2.3 MARKET ANALYSIS .............................................................................................................. 11 2.4 CASE STUDY ........................................................................................................................ 12 3 THEORETICAL BACKGROUND ......................................................................................... 13 3.1 PORTABILITY IN GENERAL ................................................................................................... 13 3.2 PORTABILITY AS A QUALITY ATTRIBUTE .............................................................................. 14 3.3 MOBILE APPLICATION PORTABILITY .................................................................................... 16 3.4 RELEVANT METHODS AND TECHNIQUES .............................................................................. 17 4 DATA COLLECTION.............................................................................................................. 20 4.1 DATA PRESENTATION .......................................................................................................... 20 4.1.1 Q1-Q2 2007.................................................................................................................... 20 4.1.2 Q3-Q4 2007.................................................................................................................... 22 4.1.3 Q1-Q2 2008.................................................................................................................... 24 4.2 DATA VALIDITY ................................................................................................................... 26 4.3 DISCUSSION OF THE RESULTS ............................................................................................... 26 5 CASE STUDY............................................................................................................................ 28 5.1 DESCRIPTION ....................................................................................................................... 28 5.1.1 Scope .............................................................................................................................. 28 5.2 DESIGN ................................................................................................................................ 29 5.2.1 Overall architecture ....................................................................................................... 29 5.2.2 Logic............................................................................................................................... 30 5.2.3 Presentation.................................................................................................................... 32 5.3 ARCHITECTURE DISCUSSION ................................................................................................ 34 5.4 IMPLEMENTATION ................................................................................................................ 34 5.4.1 Application specifics....................................................................................................... 34 5.4.2 Programming languages ................................................................................................ 35 6 RESULTS AND DISCUSSION................................................................................................ 36 6.1 CASE STUDY RESULTS .......................................................................................................... 36 6.1.1 Cost results ..................................................................................................................... 36 6.1.2 Code comparison............................................................................................................ 37 6.2 MODEL ................................................................................................................................ 44 6.2.1 Assumptions.................................................................................................................... 44 6.2.2 The model ....................................................................................................................... 45 6.3 VALIDITY DISCUSSION ......................................................................................................... 46 2 6.3.1 Credibility....................................................................................................................... 47 6.3.2 Transferability ................................................................................................................ 47 6.3.3 Dependability ................................................................................................................. 47 6.3.4 Confirmability................................................................................................................. 47 6.4 ANSWERING OF RESEARCH QUESTIONS ................................................................................ 48 7 CONCLUSIONS........................................................................................................................ 50 8 FUTURE WORK......................................................................................................................