Software Engineering Processes For Mobile Application Development
The New Brunswick Community College – Centre for Applied Research in Mobile & Ubiquitous Computing
The NBCC Mobile First Technology initiative conducted a project that identified critical issues specific to the engineering of mobile software systems.
software engineering, usability
This project identified critical issues in the engineering of software for mobile platforms, commonly referred to as mobile apps; and it identifies software engineering principles and methods, and design heuristics that have been adapted to the development of mobile apps. The study on which this report is based was motivated by the real-world experiences and needs of industrial partners of the New Brunswick Community College Mobile First Technology Initiative.
The field of software engineering covers a broad range of issues and techniques. The following is a useful definition of software engineering drawn from the literature: [Laplante, 2007:1]
[Software engineering is] a systematic approach to the analysis, design, assessment, implementation, test, maintenance and reengineering of software, that is, the application of engineering to software. In the software engineering approach, several models for the software life cycle are defined, and many methodologies for the definition and assessment of the different phases of a life-cycle model.
The following is a useful definition of mobile software engineering drawn from the literature: [Bortenschlager, 2001:11]
Mobile software engineering is the adaptive process of designing, implementing, and maintaining a software product for a mobile platform. By this, the process must take into account the specific characteristics of mobile usage to deliver the required quality.
Mobile platforms are now among the most important targets for software development, whether for product development or projects within the enterprise.
Mobile-specific software engineering processes are warranted for two major reasons:
- Unique software engineering challenges: Mobile platforms present software engineering teams with unique challenges relative to other types of targets, such as desktop software.
- Brittle relationships between users and mobile apps: The burden of responsibility on the software engineering team for producing and implementing good designs is arguably higher in certain ways than it is for other types of targets because the relationship between a user and a mobile app is more brittle than it has been with desktop software.
The onus is on the designers and software engineers who develop applications for mobile devices to account for the technical, cognitive, environmental, quality of service, and other issues that might impact user experience. Most users will be unaware of such factors and will, therefore, blame the design of the mobile application rather than the underlying technologies and services.
To identify the scope of software engineering topics to cover in this study, a generic, comprehensive framework for analysis was synthesized from current software engineering methods, including main software engineering workflows and supporting workflows. These are depicted in Figure 1.
Figure 1. This is a diagram of software engineering phases, workflows, and iterations.
Overview of Unique Challenges
The literature surveyed for this study strongly suggested that there are unique challenges in mobile software engineering arising from several sources: new technologies or affordances offered by mobile platforms; and the tight coupling between user experience and device capabilities. Overall, mobile apps are more sensitive to the impacts of processing power, screen space available to display information, user interaction methods, and battery life on users than in software engineering efforts for traditional desktop applications.
- P. A. Laplante, “What Every Engineer Should Know about Software Engineering,” CRC Press, 2007, p. 1.
- M. Bortenschlager, “Mobile Software Engineering Characteristics and Challenges,” Cambridge Wednesday Seminar, Mar. 2, 2011.
- W. McIver Jr., Software Engineering Processes For Mobile Application Development, New Brunswick Community College – Mobile First Technology initiative, Technical Report, 2015-11-20. [PDF]
- William McIver Jr., Ph.D., NSERC Industrial Research Chair in Mobile First Technology, Principal Investigator
- Mary Goggin, David Drost, and Aaron Scott of Accreon, Inc
- Natural Sciences and Engineering Research Council of Canada - Industrial Research Chair for Colleges program
William McIver Jr., Ph.D.
NSERC Industrial Research Chair in Mobile & Ubiquitous Computing
Centre for Applied Research in Mobile & Ubiquitous Computing
New Brunswick Community College
| © Copyright 2017 - 2022. All Rights Reserved.
The New Brunswick Community College – Centre for Applied Research in Mobile & Ubiquitous Computing is supported by
the Natural Sciences and Engineering Research Council of Canada.