Handbook of Mobile Application Development: A Guide to Selecting the Right Engineering and Quality Features - Mohamed Sarrab - E-Book

Handbook of Mobile Application Development: A Guide to Selecting the Right Engineering and Quality Features E-Book

Mohamed Sarrab

0,0
35,66 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

This handbook is a concise yet complete guide to fundamental engineering requirements and quality characteristics that users, developers, and marketers of mobile applications should be aware of. It provides detailed definitions and descriptions of eight key software application features that are integral to the overall design and user experience goals, and which may often overlap with certain functionalities. The book explains the essential aspects of these features clearly to novice developers. Readers will also learn about how to optimize the listed features to tailor their applications to the needs of their users.

Key Features:
- Presents detailed information about eight different features which guide mobile application development: capability, reliability, usability, charisma, security, performance, mobility and compatibility
- Reader-friendly, structured layout of each chapter including relevant illustrations and clear language, designed for quick learning
- Focus on both software function and user perception of applications on mobile devices
- Includes a handy appendix with information about mobile learning projects and related work packages

Handbook of Mobile Application Development: A Guide to Selecting the Right Engineering and Quality Features is the ideal learning tool for novice software developers, computer science students, IT enthusiasts and marketers who want to design or develop mobile apps for an optimal user experience.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB

Seitenzahl: 188

Veröffentlichungsjahr: 2021

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents
BENTHAM SCIENCE PUBLISHERS LTD.
End User License Agreement (for non-institutional, personal use)
Usage Rules:
Disclaimer:
Limitation of Liability:
General:
FOREWORD
PREFACE
CONSENT FOR PUBLICATION
CONFLICT OF INTEREST
ACKNOWLEDGEMENTS
DEDICATION
Capability: Can Mobile Application Perform Valuable Functions?
Abstract
1. INTRODUCTION
2. Capability
3. Completeness
4. Accuracy
5. Efficiency
6. Interoperability
7. Concurrency
8. Data Agnosticism
9. Extensibility
SUMMARY
REFERENCES
Reliability: Can a Mobile Application be Trusted in Many and Difficult Situations?
Abstract
1. INTRODUCTION
2. Reliability
3. Stability
4. Robustness
5. Recoverability
6. Data Integrity
7. Trustworthiness
SUMMARY
REFERENCES
Usability: Can Mobile Applications Be Used Easily?
Abstract
1. INTRODUCTION
2. Usability
3. Intuitiveness
4. Minimalism
5. Learnability
6. Memorability
7. Discoverability
8. Operability
9. Interactivity
10. Control
11. Clarity
12. Errors
13. Consistency
14. Accessibility
15. Documentation
SUMMARY
REFERENCES
Charisma: Do Mobile Applications have Charisma?
Abstract
1. INTRODUCTION
2. Charisma
3. Uniqueness
4. Satisfaction
5. Professionalism
6. Attractiveness
7. Curiosity
8. Entrancement
9. Hype
10. Expectancy
11. Attitude
12. Impression
13. Story
SUMMARY
REFERENCES
Security: Does Mobile Application Protect Against Unwanted Usage?
Abstract
1. INTRODUCTION
2. Security
3. Authentication
4. Authorization
5. Privacy
6. Security Holes
7. Secrecy
SUMMARY
REFERENCES
Performance: Is the Mobile Application Fast Enough?
Abstract
1. INTRODUCTION
2. Performance
3. Capacity
4. Resource Utilization
5. Responsiveness
6. Availability
7. Throughput
8. Endurance
9. Feedback
10. Scalability
SUMMARY
REFERENCES
Mobility: Is the Application Easy to Install, Maintain and Support?
Abstract
1. INTRODUCTION
2. MObi-bility
3. Application Requirements
4. Install-ability
5. Upgradability
6. Uninstallation
7. Configuration
8. Deployability
9. Maintainability
10. Testability
SUMMARY
REFERENCES
Compatibility: How does Mobile Application Interacts with Environments?
Abstract
1. INTRODUCTION
2. Compatibility
3. Device Compatibility
4. Operating System Compatibility
5. Application Compatibility
6. Configuration Compatibility
7. Backward Compatibility
8. Forward Compatibility
9. Sustainability
10. Standards Conformance
Summary
REFERENCES
APPENDIX
Mobile Learning Research Project
Research Objectives and Aims
Scope of the Project
Research Methodology
Work package 1: Research Background
Work package 2: Advanced nations M-learning experiences
Work package 3: Case Study
Work package 4: Data Analysis
Work package 5: Framework
Work package 6: Prototype implementation
Work package 7: Evaluation
Work package 8: Project Documentation
Project Findings
Limitation and Implications for Future Studies
Recommendations
Future Concerns and Challenges
Handbook of Mobile Application Development: A Guide to Selecting the Right Engineering and Quality Features
Authored by
Mohamed Sarrab
Hafedh Al-Shihi
&
Naveen Safia
Communication and Information Research Center
Sultan Qaboos University
Oman

BENTHAM SCIENCE PUBLISHERS LTD.

End User License Agreement (for non-institutional, personal use)

This is an agreement between you and Bentham Science Publishers Ltd. Please read this License Agreement carefully before using the book/echapter/ejournal (“Work”). Your use of the Work constitutes your agreement to the terms and conditions set forth in this License Agreement. If you do not agree to these terms and conditions then you should not use the Work.

Bentham Science Publishers agrees to grant you a non-exclusive, non-transferable limited license to use the Work subject to and in accordance with the following terms and conditions. This License Agreement is for non-library, personal use only. For a library / institutional / multi user license in respect of the Work, please contact: [email protected].

Usage Rules:

All rights reserved: The Work is the subject of copyright and Bentham Science Publishers either owns the Work (and the copyright in it) or is licensed to distribute the Work. You shall not copy, reproduce, modify, remove, delete, augment, add to, publish, transmit, sell, resell, create derivative works from, or in any way exploit the Work or make the Work available for others to do any of the same, in any form or by any means, in whole or in part, in each case without the prior written permission of Bentham Science Publishers, unless stated otherwise in this License Agreement.You may download a copy of the Work on one occasion to one personal computer (including tablet, laptop, desktop, or other such devices). You may make one back-up copy of the Work to avoid losing it.The unauthorised use or distribution of copyrighted or other proprietary content is illegal and could subject you to liability for substantial money damages. You will be liable for any damage resulting from your misuse of the Work or any violation of this License Agreement, including any infringement by you of copyrights or proprietary rights.

Disclaimer:

Bentham Science Publishers does not guarantee that the information in the Work is error-free, or warrant that it will meet your requirements or that access to the Work will be uninterrupted or error-free. The Work is provided "as is" without warranty of any kind, either express or implied or statutory, including, without limitation, implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the results and performance of the Work is assumed by you. No responsibility is assumed by Bentham Science Publishers, its staff, editors and/or authors for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products instruction, advertisements or ideas contained in the Work.

Limitation of Liability:

In no event will Bentham Science Publishers, its staff, editors and/or authors, be liable for any damages, including, without limitation, special, incidental and/or consequential damages and/or damages for lost data and/or profits arising out of (whether directly or indirectly) the use or inability to use the Work. The entire liability of Bentham Science Publishers shall be limited to the amount actually paid by you for the Work.

General:

Any dispute or claim arising out of or in connection with this License Agreement or the Work (including non-contractual disputes or claims) will be governed by and construed in accordance with the laws of Singapore. Each party agrees that the courts of the state of Singapore shall have exclusive jurisdiction to settle any dispute or claim arising out of or in connection with this License Agreement or the Work (including non-contractual disputes or claims).Your rights under this License Agreement will automatically terminate without notice and without the need for a court order if at any point you breach any terms of this License Agreement. In no event will any delay or failure by Bentham Science Publishers in enforcing your compliance with this License Agreement constitute a waiver of any of its rights.You acknowledge that you have read this License Agreement, and agree to be bound by its terms and conditions. To the extent that any other terms and conditions presented on any website of Bentham Science Publishers conflict with, or are inconsistent with, the terms and conditions set out in this License Agreement, you acknowledge that the terms and conditions set out in this License Agreement shall prevail.

Bentham Science Publishers Pte. Ltd. 80 Robinson Road #02-00 Singapore 068898 Singapore Email: [email protected]

FOREWORD

Mobile applications have become ubiquitous and are present in almost all of today’s business domains and life aspects. With the increasing prevalence of handheld computing devices (e.g., smartphones), the growth of mobile applications is expected to continue, which will have an impact on academia and industry expectations and standards. That means we, as communities, need more proficient developers to design and develop more efficient, reliable, and secure mobile applications and relevant technologies and platforms.

This book will be a great addition to the literature to serve as a practical reference for students, researchers, and business communities who have an interest in learning about mobile computing and its features and design aspects. The book is written in a concise and conversational style that is easy to read and understand even though it discusses a great deal of very difficult relevant concepts from technical and design perspectives. The book talks about introductory topics such as the potential and the features of mobile general-purpose systems as well as very advanced concepts, including performance and security of mobile applications and the roadblocks expected during their evolution process.

Another interesting area the authors cover in this book is the quality, practicality, and effectiveness metrics that should be considered when evaluating mobile software systems. The solid research experience professor Sarrab has on mobile development and software system research speaks volumes about the effectiveness, practicality, and quality of the research findings introduced in this book.

I believe that this will be a good contribution to academia, research, and industry communities. I believe readers who are interested in getting familiar with and exposed to the mobile application’s development life cycle and challenges will like it and will use it as a valuable reference. In academia, the book can also be used as a textbook for a course on mobile computing literacy and quality. I anticipate that a broader audience from industry-oriented communities, people who want to educate themselves on the topic, and also users who plan to take advantage of mobile applications to run their business operations and expand their customer populations will find this book to be very interesting and useful.

In short, the book has a lot to offer to both communities from academia and industry and is a valuable addition to the literature. It is written in a very practical and concise manner that makes it easy to read and a great one to carry as a reference.

Saleh M. Alnaeli University of Wisconsin-Stout Menomonie, Wisconsin USA

PREFACE

This handbook is a complete encyclopedia about engineering requirements and quality characteristics that users, developers, and marketers of mobile applications should be aware of, and it provides detailed definitions, descriptions, and those features that overlap and are often confused. Today almost everyone uses a mobile phone with a good number of applications. However, not everyone knows its full advantage. In addition, this book helps in exploiting all the apps efficiently, thereby optimizing their use. Sometimes, when one buys a latest phone from a simpler version, it is so confusing that it is common to make mistakes. Some of these mistakes are undone easily, but some have locked the device to be made accessible by the distributor, and still, some are locked forever. Especially if you have bought it in one place and traveled to another country/continent. Mobile apps are distinguished, and studies are divided into eight different angles: capability, reliability, usability, charisma, security, performance, mobility, and compatibility. They are further divided into subsections for clarity. Every chapter has an introduction to all points discussed and a picture projects the different subsections in a user-friendly way. It not only describes each function but also sheds light on the perceptions of users. It is completely from the user’s perspective. It is extremely useful to developers as it does highlight some performance issues like delay issue if the user misuses the app, he blames the app for 2 to 3 seconds of waiting time which is considered as delay, while a computer start time is about a minute with much more performance capacity. Also, the challenges are different types of users, different mobile phones with different capacities, with much varied and continually updated mobile apps.

This guide shows you how to:

Think through the design instead of just throwing UI elements.Allow an intuitive design flow to emerging from your app.Sketch and wireframe apps more effectively.Reflect key differences among smartphones, tablets, and desktops.Design for visual appeal without compromising usability.Work effectively with programmers.Make sure your apps are accessible to everyone.Get usable feedback, and understand what it is telling you.Learn valuable lessons from today's most successful apps.Refresh your designs in new apps and future versions.Discover new tools for designing more successfully.

CONSENT FOR PUBLICATION

Not applicable.

CONFLICT OF INTEREST

The authors [Mohamed Sarrab,Hafedh Al-Shihi, and Naveen Safia] of the enclosed manuscript titled: “Handbook of Mobile Application Development: A Guide to Selecting the Right Engineering, and Quality Features” have research support from The Research Council - Sultanate of Oman. Project [code: ORG/ICT/13/002]. Project title: M-Learning in Oman: Development, Adoption, and Dissemination..

ACKNOWLEDGEMENTS

In the name of Allah, the Most Gracious and the Most Merciful, I give thanks to Him for supporting us with the strength to complete this book. Without His support, none of this effort would have been possible. This book could not have been possibly completed without the recommendations, support, and advice of many people.

The idea for this book was generated because of the mobile learning research project. This research project is funded by The Research Council (TRC) of the Sultanate of Oman: under Grant No: ORG/SQU/ICT/13/006, (www.trc.gov.om). Project details are attached in appendix I. Thanks to The Research Council (TRC) of the Sultanate of Oman for taking a leadership role in this innovative research and for funding this important mobile learning project.

Mohamed SarrabHafedh Al-Shihi&Naveen Safia Communication and Information Research Center Sultan Qaboos University Oman

DEDICATION

Dedicated to This book is dedicated to,All mobile application developers.

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, andThe 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 algorithms.