240 likes | 382 Views
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?
E N D
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.