Nonfunctional Requirements in Mobile Application Development
eBook - ePub

Nonfunctional Requirements in Mobile Application Development

  1. 102 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Nonfunctional Requirements in Mobile Application Development

About this book

Nonfunctional Requirements in Mobile Application Development is an empirical study that investigates how nonfunctional requirements--as compared with functional requirements--are treated by the software engineers during mobile application development.

The book empirically analyzes the contribution of nonfunctional requirements to project parameters such as cost, time, and quality. Such parameters are of prime interest as they determine the survival of organizations in highly dynamic environments. The impact of nonfunctional requirements on project success is analyzed through surveys and case studies, both individually and relative to each other. Sources for data collection include industry, academia, and literature. The book also empirically studies the impact of nonfunctional requirements on the overall business success of both the software development firm and the software procuring firm. Project success is examined to determine if it leads to business success.

The book provides rich empirical evidence to place nonfunctional requirements on par with functional requirements to achieve business success in highly competitive markets. This work enhances the body of knowledge through multiple empirical research methods including surveys, case studies, and experimentation to study software engineers' focus on nonfunctional requirements at both project and business levels. The book can guide both computer scientists and business managers in devising theoretical and technical solutions for software release planning to achieve business success.

Tools to learn more effectively

Saving Books

Saving Books

Keyword Search

Keyword Search

Annotating Text

Annotating Text

Listen to it instead

Listen to it instead

Information

Chapter 1

Introduction

1.1 General Introduction

The software industry aims to develop high-quality software for its clients under various development constraints. Huge expenditure is involved in an undertaking software project with failure risk threatening potential expected benefits. The m-commerce applications are very crucial for the business of product seller, and hence, any mistake done at part of the software developer takes seller business at stake. M-commerce apps are mobile apps, the success of which depends on both functional and nonfunctional requirements (NFRs). These m-commerce apps must be developed using matured and dynamic software development methodologies. The requirements of such mobile m-commerce apps are highly sophisticated as compared to desktop or web applications. The research work will analyze the status of mobile software development from implementation of NFR for generic mobile apps. The results will be equally valid for m-commerce apps.
The ability of the software to satisfy its customer results in enhanced customer base, implying higher software sales and huge turnover. The reverse of this situation negates the justification of investment of huge development costs. The failure not only creates a monetary loss in the current project but may also impact the company reputation, thereby decreasing the customer base of new projects to be undertaken by the firm. Customer satisfaction is a prime business value for the firm and the company's future depends on it.
Satisfaction comes from the ability of the software to meet the expectation of its customers/users. These customers are mainly concerned with the functionality of the software, i.e. functional requirements of the software, and hence, nonfunctional ones are unseen initially.
However, if the same NFR remains unimplemented, functional requirement may become obsolete as they may be unable to deliver without nonfunctional areas or may be unusable till nonfunctional ones are implemented. Thus, the neglect of nonfunctional ones may lead to complete the rejection of the software amongst the stakeholders/customers, even though they never requested them.
In case of mobile software development, various challenges get mapped to various NFRs like GUI, interactions with a large number of other apps, location aware services, security hardware and software independence apart from other traditional challenges like usability, performance and reliability. Software developers must consider these different issues in the form of NFRs during the development of the mobile apps. These issues can never be predefined and in fact depend on the level of expertise of the software developer.
For example, a software developer must consider the issue of database consistency as mobile networks usually perform handoffs. In case of availability of a high-speed network, it is possible to increase the data transfer speed during transaction execution, thereby making the consistency issues as one of the important NFRs. The successful implementation of the mobile app depends on the ability of the software developer to implement not only functional but also NFRs by anticipating future events led by technological changes, environmental changes etc.
Numerous techniques are available to elicit software requirements and to prioritize these requirements. The available techniques focus mainly on functional requirements that are available in the literature, and very little work is available that handles NFRs separately or at least relative to functional requirements.
Keeping in view the importance of NFR in successful implementation of projects, especially mobile apps, the need is felt to undertake a survey of existing mobile apps developments from the viewpoint of NFR contributions.
Effort is ongoing in the direction to analyze the contribution of NFRs to success/failure rates of the product, analyze the status of NFRs, and its implementation and contributions to the cost and time of overall development. Efforts are made to analyze the variation with increase in the size of organization and complexity of the projects.
Further, there is a need to study the impact of missing NFRs on the business success rates of both the software developing firms and the client firms who employs the system for delivering their produced goods and services in economy. Thus, the impact analysis is performed employing the survey of many firms at two independent levels—developing firm level and client firm level. The former deals with the impact analysis of missing NFRs from the developed software on software firm business while later deals with the impact analysis of missing NFRs from the purchased software by the firm on its goods/services business. There is a need to undertake an empirical study to investigate that how much and in what direction there is an impact of missing NFRs and the business success.
NFRs must be selected for implementation together with functional requirements to enhance the success of software projects. Three approaches exist for performing the prioritization of NFRs using the suitable prioritization technique. There is a need to analyze the accuracy of individual approaches and the variation of accuracy with the complexity of the software project. The objective is to see if individual prioritization of NFRs is better or the prioritization with functional one. The new prioritization techniques for NFRs in accordance with the outcome of the experiment are kept as future work.
The complete research will include various empirical methods like literature survey, industrial project survey, academic project survey and case studies, wherever applicable. The case study will be undertaken in the form of analysis of historical documents and personal observation to verify, validate and/or add more to the analysis information of the industrial and academic project survey. The advantage is that the researchers will get the opportunity to see if the practice adopted by survey participants is industry specific or generally followed across many firms.
Further, the wrong or misleading information due to different terminologies in literature and industries will be minimized as a result of observations through the case studies. Case studies undertaken by the researchers given them the opportunity to verify the insight brought up by the survey participants with the things observed by the researchers. The collected data will be subjected for necessary analysis individually and against each other.

1.2 Terminology

1.2.1 Requirement Prioritization

The software projects are getting more complex day by day due to an increased number of users and ever-changing needs. Further, there is a reduction in time to market and enhanced need for high quality due to ever growing competition. Every requirement is bearing a cost and time to implement which makes the idea of implementing all requirements in “one go” completely bad idea. Under such circumstances, the software engineer adopts techniques called requirement prioritization to select the high priority requirements. This allows the organization to release multiple versions of the same software.
Requirement prioritization is an activity to perform the selection of requirements, the task that is challenging due to the involvement of many stakeholders with potentially conflicting view points, multiple requirements to be handled and large effort to be invested in this activity. The wrong requirement selection not only results in wasteful effort and potentially increased effort of the next release, but also possesses the risk of project failures. There are different techniques for undertaking the software prioritization that varies in terms of computational algorithms, complexities, measurement scale etc.

1.2.2 Nonfunctional Requirements

The NFRs are the requirements that defines that how the functional requirements will be implemented. In other words, NFRs place constraints on the implementation on functional requirements. Such requirements do not provide any functionality to end user but are required for efficient implementation of functional requirements or proper working of the software.
It had been widely accepted that customers do not want NFRs since they do not offer any functionality; however, customer may refuse to use the software due to missing NFRs. The reason is functionality will be effectively implemented only if few NFRs and constraints are also implemented by the developer. Such requirements are not elicited from users but are implemented by developer, and it is difficult to convince the user/customer about NFRs.
NFRs require special focus during requirement engineering activity because the ignoring few NFR may lead to complete failure of the mobile applications. This is because the user expectations from the experience from executing the app on the mobile phone are different compared to the desktop computing machines. The mobile devices impose server restrictions on the development of the mobile apps because of the restrictions imposed by their working environments including limited resolution, working conditions of the mobile components, bandwidth limitations, storage limitations and energy utilization issues. This imposes conditions on the development of the mobile apps in order to execute them with high performance in tightly constrained mobile infrastructure.

1.2.3 Empirical Studies

According to Wikipedia, the empirical research is defined as “a way of gaining knowledge by means of direct and indirect observation or experience”. In other words, empirical research involves the collection of primary data by the means of either direct observation and/or experience of the field under investigation and the analysis of the collected data to draw meaningful conclusions. Empirical research helps researchers to undergo through various types of studies like exploratory, descriptive, explanatory and experimental research. Different types of research are carried out with different objectives using different tools. For example, exploratory study is carried out to explore new field using surveys of literature etc., while descriptive one involves getting descriptions of the elements of interest to researchers using interviews, case studies, etc. Researcher can do empirical research by using different methods like case studies, surveys and experiments. The surveys are conducted when the samples are too many and lot of broad information is to be collected, and case studies are conducted to gain deeper insights about elements of interests and experiments could be conducted to investigate the impact of one variable over another which could be conducted in controlled and uncontrolled manner.

1.3 Aim and Objective of Book

The aim of the book is to study the importance and the impact of NFRs on overall software project. This includes studying impact on metrics like project success or failure rates, development cost and time. The book also aims to analyze the current status of NFRs during development of mobile applications and suggests optimal ways of integrating the NFR during requirement selection activity.
The aim is fulfilled by attaining the following objectives:
  1. To study the impact of NFRs on mobile application development in both industry and academics.
    This objective is achieved by carrying out empirical study employing case studies and surveys of industrial and academic mobile application projects. The individual empirical results are analyzed with the results of systematic literature survey.
  2. To analyze the accuracy of NFR prioritization approaches for different complexity projects—this analysis is useful in attainment of the following objective:
    This objective is that achieved NFRs must be selected for implementation together with functional requirements to enhance the success of software projects. Three approaches exist for performing the prioritization of NFRs using the suitable prioritization technique. This objective is achieved by performing experimentation on three different complexity versions of the industrial software project using a cost-value prioritization technique employing three approaches. Experimentation is conducted to analyze the accuracy of individual approaches and the variation of accuracy with the complexity of the software project.
  3. To study the impact of NFRs on m- commerce business success.
    This objective is achieved by carrying out interview-based survey of business organization that is able to make their business offering available to its buyers through an m-commerce application. The organizations have given quantitative data as answer to the question that aims to analyze the impact of NFRs on business success. The collected data are then subjected to testing of a formulated hypothesis using statistical testing approaches.

1.4 Problem Statement

This book tries to find a solution to the problems stated as follows: “What is the status of mobile application development in the software industry from the viewpoint of NFRs for different complexity projects developed using different development strategies by matured and less matured organizations?”. Further the book tries to identify the impact of the NFRs on business success and failure of both the software developing firm and clients firms offering goods and services through purchased software in economy.

1.5 Research Framework

The three objectives of the research were briefly outlined in Section 1.5 of the chapter. The fulfillment of the objectives makes it possible to find through an empirical study on the state of affairs of handling of NFRs by the software developing firms involved in delivery of mobile apps like m-commerce apps. This involves the investigation of not only the practices, procedures and methods of handling NFRs but also to analyze the contribution of NFRs in project parameters like product success rates, failure rates, overall cost and time for different organizations and project sizes.
This further requires the work to investigate the impact of NFRs on business success and failure of not only the firms procuring the software for delivery of goods/services but also the firm involved in the software development.
...

Table of contents

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright Page
  5. Contents
  6. List of Tables and Figures
  7. Editors
  8. 1 Introduction
  9. 2 Literature Review
  10. 3 Impact of NFR’s on M-Commerce Business Success
  11. 4 Status of Nonfunctional Requirement in Mobile Application Development: An Empirical Study
  12. 5 Status of Nonfunctional Requirement in Mobile Application Development in Academic Projects
  13. 6 Accuracy of Nonfunctional Requirement Prioritization Approaches for Different Complexity Projects: An Experimentation
  14. 7 Conclusion and Future Work
  15. References
  16. Index

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 990+ topics, we’ve got you covered! Learn about our mission
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access Nonfunctional Requirements in Mobile Application Development by Varun Gupta,Raj Chopra,Durg Chauhan,Raj Kumar Chopra,Durg Singh Chauhan in PDF and/or ePUB format, as well as other popular books in Computer Science & Hardware. We have over one million books available in our catalogue for you to explore.