Mobile Development
240 likes | 399 Vues
Mobile Development. Presented by: Samantha C. Tomeï CMPS 5143 Adv. Software Engineering Midwestern State University October 11, 2012. Overview. Introduction Brief overview research papers Software Engineering Issues Survey Results What Makes Mobile Development Different?
Mobile Development
E N D
Presentation Transcript
Mobile Development • Presented by: • Samantha C. Tomeï • CMPS 5143 • Adv. Software Engineering • Midwestern State University • October 11, 2012
Overview • Introduction • Brief overview research papers • Software Engineering Issues • Survey Results • What Makes Mobile Development Different? • Model-Driven Development (MobiA tool) • Test-Driven Development • Android Developer Guide • Conclusion • References
Introduction • Apple App Store opened in July 2008 • Google Play – October 2008 • Blackberry App World – April 2009 • Nokia Store – May 2009 • Windows Phone Marketplace – October 2010
Survey Results • Most applications were relatively small • Averaging several KLOC • One or two developers • Two main categories • Native applications • Web applications • “Best practices” were adhered to quite well • Rarely used formal development processes • Very little organized tracking of development efforts and gathered few metrics
What Makes Mobile Development Different? Common issues: • Integration with device hardware • Security • Performance • Reliability • Storage limitations Additional requirements: • Interaction with other applications • Sensor handling • Native and hybrid apps • Families of hardware and software platforms • User interfaces • Complexity of testing • Power consumption
MobiA • Mobile Application (MobiA) modeler • Model Driven Development (MDD) • Create high-level, platform independent model of the system • Generate specific code based on the model for the target system
Test-Driven Development (TDD) • TDD – evolutionary software development technique • Reduces time wasted on debugging • Speeds up the development process • Develops more reliable software Process: • Tests prepared by dividing the software functions into small units • Developers generate automated unit tests • Otherwise tests not performed frequently enough • Software developed based on unit tests
Android Developer Guide Available at http://developer.android.com
Android Developer Guide Tip: Draw launcher icons on an 864x864 artboard Could be need to be 96, 72, 48, or 36 pixels wide, depending on screen density
Android Developer Guide Other topics covered: • “Smoothing Out Performance” • “Multi-versioning Android User Interfaces” • “Ten Things Game Developers Should Know” • “Security and Privacy in Android Apps” • “So You’ve Read The Design Guide. Now What?” • “Android Apps in Google Play” • “Building Applications That Use Web API” • …
Android Developer Guide Tablet App Quality Checklist: • Test for Core App Quality • Optimize screen for larger layouts • Take advantage of extra screen area available • Use icons and other assets that are designed for tablets • Adjust font sizes and touch targets for tablet screens • Adjust size of home screen widgets for tablet screens • Offer the app’s full feature set to tablet users • Don’t require hardware features that might not be available on tablets
References • Android Developer Guide <http://www.developer.android.com> • Balagtas-Fernandez, T. F. and H. Hussmann. "Model-Driven Development of Mobile Applications." IEEE/ACM International Conference on Automated Software Engineering. Washington: IEEE, 2008. 509-512. • Free Android Games, Apps. <http://www.androidfree.us/2012/08/idc-android-jumps-to-681-global-market.html> • Heejin, Kim, ChoiByoungji and Yoon Seokjin. "Performance Testing Based on Test-Driven Development for Mobile Applications." International Conference on Ubiquitous Information Management and Communication. New York: ACM, 2009. 612-617. • Joke Portal <http://www.joke-portal.com/cell_phone_users_iphone-android-blackberry.jpg> • Scharff, Christelle and Ravi Verma. "SCRUM to Support Mobile Application Development Projects in a Just-in-Time Learning Context." ICSE Workshop on Cooperative an Human Aspects of Software Engineering. New York: ACM, 2012. 25-31. • Wasserman, Anthony I. "Software Engineering Issues for Mobile Application Development." Future of Software Engineering Research. New York: ACM, 2010. 397-400.