BANGALORE, INDIA: A careful specification and adherence of non-functional requirements such as performance, security, privacy and availability are crucial to the success or failure of any software system. To see why, imagine if your bank's website were to display the following disclaimer on its homepage: "We do not guarantee the security of your personal data or your account information while transacting on our net-banking portal." Will you still use it? Almost certainly not!
The correct specification and adherence of non-functional requirements similarly plays at least an equal, if not a greater, role in the success of mobile applications also. This is due to the following reasons:
- Mobile devices are uniquely constrained in several dimensions such as the processor speed, memory, multi-tasking support, available network bandwidth, screen real estate, etc. These constraints translate into strict bounds being imposed on the operating characteristics of an application running on a mobile device.
- Mobile applications need to operate successfully (or degrade gracefully) within a wide spectrum of operating conditions, such as a range of supported screen resolutions and form factors, network bandwidth situations and network types (2G, 3G, Wi-Fi), etc.
- Mobile applications sometimes need to interact with the device's sensors such as GPS, accelerometer, the ambient light sensor, camera, etc. The application must respect the sensor's operating characteristics such as its operating range, sensitivity, accuracy, maximum polling interval, etc.
- Finally, users expect a different quality of user experience from an application running on the mobile device than they do from their desktop computer. For example, it is much less acceptable to have to reboot the phone when a mobile application hangs. Thus the latitude for error tends to be less for a mobile application than for the desktop version of the application in the same situation.
Thus, it is critical to capture these requirements as accurately and exhaustively as possible, ensure that the application's design addresses each requirement, develop the application to meet these requirements, and test the application against each requirement so as to verify compliance.
In the rest of the article, we dig deeper into the major types of non-functional requirements for mobile applications, describe the impact of each requirement on the operating characteristics of a mobile application and wherever possible, provide guidelines for specifying and implementing each requirement.
Click here to continue reading!
(Sachin Date, Quinnox Consultancy Services)
/ciol/media/agency_attachments/c0E28gS06GM3VmrXNw5G.png)
Follow Us