Handbook of Mobile Application Development: A Guide to Selecting the Right Engineering and Quality Features
()
About this ebook
Related to Handbook of Mobile Application Development
Related ebooks
Handbook of Mobile Application Development: A Guide to Selecting the Right Engineering and Quality Features Rating: 0 out of 5 stars0 ratingsProfessional Cocoa Application Security Rating: 0 out of 5 stars0 ratingsMobile Security Apps The Ultimate Step-By-Step Guide Rating: 0 out of 5 stars0 ratingsThe Mobile Enterprise: A pragmatic vision Rating: 0 out of 5 stars0 ratingsPrivacy-First Smartphones: A Senior’s Guide to Avoiding Scams, Ads and Data Mining Rating: 0 out of 5 stars0 ratingsMobile Security Fundamentals: A Guide for CompTIA Security+ 601 Exam Rating: 0 out of 5 stars0 ratingsGDPR for DevOp(Sec) - The laws, Controls and solutions Rating: 5 out of 5 stars5/5The Opportunity of Mobile, 7 Simple Rules for Lasting Success in the Mobile Space Rating: 0 out of 5 stars0 ratingsCybersecurity Blue Team Toolkit Rating: 2 out of 5 stars2/5Appsters: A Beginner's Guide to App Entrepreneurship Rating: 3 out of 5 stars3/5Become a Mobile App Tester Rating: 0 out of 5 stars0 ratingsMobile Malware Infringement and Detection Rating: 0 out of 5 stars0 ratingsEnterprise Mobility Breakthrough: The Beginners Guide Rating: 0 out of 5 stars0 ratingsThe Web Application Hacker's Handbook: Finding and Exploiting Security Flaws Rating: 3 out of 5 stars3/5Enterprise Mobile Tips and Tricks Rating: 0 out of 5 stars0 ratingsCASP: CompTIA Advanced Security Practitioner Study Guide Authorized Courseware: Exam CAS-001 Rating: 0 out of 5 stars0 ratingsMobile Application Hardening Second Edition Rating: 0 out of 5 stars0 ratingsThe Mobile Application Hacker's Handbook Rating: 3 out of 5 stars3/5Pentesting 101: Cracking Gadgets And Hacking Software Rating: 0 out of 5 stars0 ratingsCISSP Exam Study Guide: NIST Framework, Digital Forensics & Cybersecurity Governance Rating: 5 out of 5 stars5/5Android Application Security Essentials Rating: 0 out of 5 stars0 ratingsThe Mobile Web: Responsive design for a multi device world Rating: 0 out of 5 stars0 ratingsMobile App Development: A Beginner's Guide to Building Your First Mobile Application Rating: 0 out of 5 stars0 ratingsTesting and Securing Android Studio Applications Rating: 0 out of 5 stars0 ratingsNetwork And Security Fundamentals For Ethical Hackers: Advanced Network Protocols, Attacks, And Defenses Rating: 0 out of 5 stars0 ratingsiOS Hacker's Handbook Rating: 0 out of 5 stars0 ratingsHow Not To Use Your Smartphone Rating: 5 out of 5 stars5/5
Programming For You
Excel 101: A Beginner's & Intermediate's Guide for Mastering the Quintessence of Microsoft Excel (2010-2019 & 365) in no time! Rating: 0 out of 5 stars0 ratingsBeginning Programming with C++ For Dummies Rating: 4 out of 5 stars4/5Python: Learn Python in 24 Hours Rating: 4 out of 5 stars4/5Python Programming : How to Code Python Fast In Just 24 Hours With 7 Simple Steps Rating: 4 out of 5 stars4/5Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5C All-in-One Desk Reference For Dummies Rating: 5 out of 5 stars5/5JavaScript All-in-One For Dummies Rating: 5 out of 5 stars5/5Microsoft Azure For Dummies Rating: 0 out of 5 stars0 ratingsPYTHON PROGRAMMING Rating: 4 out of 5 stars4/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Python Data Structures and Algorithms Rating: 5 out of 5 stars5/5Linux: Learn in 24 Hours Rating: 5 out of 5 stars5/5Python for Data Science For Dummies Rating: 0 out of 5 stars0 ratingsSQL All-in-One For Dummies Rating: 3 out of 5 stars3/5Beginning Programming with Python For Dummies Rating: 3 out of 5 stars3/5Escape the Game: How to Make Puzzles and Escape Rooms Rating: 3 out of 5 stars3/5The Recursive Book of Recursion: Ace the Coding Interview with Python and JavaScript Rating: 0 out of 5 stars0 ratingsLearn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5
Reviews for Handbook of Mobile Application Development
0 ratings0 reviews
Book preview
Handbook of Mobile Application Development - Mohamed Sarrab
Capability: Can Mobile Application Perform Valuable Functions?
Mohamed Sarrab, Hafedh Al-shihi, Naveen Safia
Abstract
This chapter discusses the capability of a mobile application as one of the main qualitative characteristics. The chapter focuses on the completeness of the mobile application and the availability of all important functions. The features of accuracy and the efficiency of performance in mobile applications are explored and discussed. This chapter focuses on the best way in which the different features interact with each other and discusses the ability to perform multiple parallel tasks at the same time. Besides, this chapter pays emphasis to the support provided to all possible data formats. Finally, it discusses the ability to add features or change the current behavior of the application.
Keywords: Accuracy, Application Behavior, Capability, Completeness, Efficiency, Mobile Application, Multiple Parallel Tasks, Performance, Qualitative Characteristics.
1. INTRODUCTION
This chapter focuses on the capability of a mobile application as one of the main qualitative characteristics. The chapter is divided into seven sections. Section 1.1 is the introduction and section 1.2 is a pictorial representation of all the subsections of the chapter. Section 1.3 discusses in detail the completeness of the mobile application and the availability of all important functions. Section 1.4 explores the feature of accuracy in the mobile application. Section 1.5 discusses the efficiency of performance in a mobile application. Section 1.6 mainly focuses on the best way in which the different features interact with each other. Section 1.7 discusses the ability to perform multiple parallel tasks at the same time and section 1.8 focuses on the support provided to all possible data formats. Finally, section 1.9 discusses the ability to add features or change the current behavior of the application.
2. Capability
Generally, the capability of a mobile application is to measure the ability of the final product of the application to achieve its objectives, especially concerning its overall mission, in which the product shows the ability to perform valuable functions. The capability of mobile applications can be measured through seven parameters. They are completeness, accuracy, efficiency, interoperability, concurrency, data agnosticism, and extensibility, as shown in Fig. (1).
Fig. (1))
Mobile Application Capability Factors.
Completeness refers to the availability of all functions the end-users want. On the other hand, accuracy is concerned with the correctness of the produced output in the right format. The efficiency of the mobile application is about the functions it performs efficiently, while interoperability considers the best way in which different features interact with each other. The feature of concurrency in the mobile application is concerned with the ability to perform multiple tasks at the same time and run parallel to other processes. Data agnosticism is about supporting different data formats, while extensibility is the ability to extend its features. The mobile application allows specific customers or third parties to change behavior or add additional features.
3. Completeness
The completeness of a mobile application is concerned with the availability of all important functions that are required by the stakeholders. It is a developed application component, where each function is described by a specification of the mobile application and which can be achieved by at least one functional execution path, operate as specified, and in as much detail as possible. Checking the mobile application for completeness is a very critical process as the specified application requirements have been developed and documented based on functions of all mobile applications, which are required to satisfy the stakeholder’s objectives with their associated environmental performance, and other non-functional characteristics of the mobile application.
A specification is comprehensive, complete if all parts exist, and every part is completely developed. There are many properties that a mobile software specification must exhibit to ensure its completeness. To check the completeness of the mobile application, it is important to verify whether there are missing functions that are part of the developed application, but they are not called for in the specification’s missing. Thus, the process of completeness of the mobile application varies if all the necessary components of the application are available and if any application process fails due to lack of resources or programming. The final product of the mobile application is a complete implementation of the functional specification. The functional specification is an official document for developers, which describes the intended capabilities of the targeted application in detail and the way of interaction with the users
The functional specification can be defined as a type of manual, guideline, or continuing reference point for the application developer. A tool for tracing requirements can be used to check the completeness of the mobile application if designers, engineers, and stakeholders feel the specified requirements meet the objectives. The requirement tracing is conducted throughout the development cycle of the application, which can be confirmed at each technical review for all old and new requirements.
The process of completeness verification checks the application’s functional performance, environmental interface, operations and maintenance support, training, development, testing, production, deployment, as well as non-functional features such as availability, reliability, safety, and security. The purpose of tracing requirements is to ensure that the requirements continue to meet the needs and expectations of the stakeholders of the application (Margaret, 2007).
4. Accuracy
Accuracy of a mobile application is concerned with the output of whether calculation in the product is correct and is presented with significant digits. It is about providing the right or agreed-on results or effects with the desired degree of precision. This can be measured by an attribute in the source code of the mobile application. Thus it is delegated to the components of the mobile application, which defines the functions that compute the values. Accuracy and precision are at times used interchangeably to describe the measurement errors. Essentially, precision is about the number of digits of a measurement that means something substantial. To build software for a mobile application, the developers are precise if they develop what has been agreed. However, they are accurate if what they build meets the client’s business needs and solves a business problem.
Precision and accuracy are both essential in mobile applications. Perhaps the best technique to differentiate between the two concepts is that accuracy is the mapping of the application of business needs to the programmer model, while precision is the mapping of the programmer model of the problem back to the mobile model. However, though the two concepts are needed, accuracy is much harder to obtain. Practically, every development in mobile application either makes developments that are more accurate or more precise.
In practice, precision is significantly needed; however, accuracy is much more important. There are some techniques to improve accuracies such as issue tracking software, specification writing, spring and other dependency injection tools, and IDEs. A well-written specification of a mobile application allows both the application developers and users to understand the objectives of the application and the product. This helps to correct invalid notions by mobile application users at an early stage. However, in case a specification is too much in detail, it can be used as a precision justification at the cost of accuracy. The spring and dependency injection tools reduce the costs of changing code for accuracy in a mobile application.
Accuracy and precision are not necessarily directly proportional. For instance, high accuracy does not essentially indicate high precision nor does high precision imply high accuracy. But both high precision and high accuracy will make the product too expensive. Two additional terms need to be defined regarding precision and accuracy. They are data quality and errors. Data quality is concerned with the precision and accuracy of user data and error encompasses both the imprecision of data and its inaccuracies. Finally, when several windows are open at the same time, a lot of overhead can be expected on the device processor while switching between different windows during data acquisition. This may slow down the loop that is performing data acquisition based on the capability of the device processor (Losavio et al., 2003), (Moore, 2004).
5. Efficiency
Historically, the terminology, classification, and structure of metrics and attributes applicable to software quality management have been extracted or derived from the ISO 9126-3 and the subsequent quality model ISO 25000:2005. Using these models, the Consortium for Information Technology Software Quality has provided five major characteristics desired for a piece of software to identify business value. They are efficiency, reliability, maintainability, security, and size. The efficiency of a mobile application is basically about performing the required actions efficiently. It can be measured by testing the codes and resources required by a program to perform a particular task or a specific function. The efficiency test of a mobile application is the number of test cases executed divided by the unit of time. Test effectiveness of mobile application covers three aspects:
The number of requirements of the users that are satisfied by the application,
To what extent the specifications of the users are achieved by the application, and
The amount of effort it takes to develop a particular application.
Thus, efficiency is closely related to the extent to which a process or a product can operate using the fewest possible resources. This is very important to mobile users to reduce the application’s running cost, as it is a part of application quality (External mobile application quality) and constrained by software architecture. As with other quality attributes, cases of inefficiency in performance are often found in violation of coding practice in good architectural design. This can be detected by measuring the use of static quality attributes of the mobile application. These static quality attributes predict the possible bottlenecks in operational performance and problems of future scalability, particularly for mobile applications that demand high-speed execution for handling huge volumes of data or complex