Accuracy of Nonfunctional Requirement Prioritization Approaches for Different Complexity Projects: An Experimentation *

Author(s):  
Varun Gupta ◽  
Raj Kumar Chopra ◽  
Durg Singh Chauhan
Author(s):  
Varun Gupta ◽  
D. S. Chauhan ◽  
Kamlesh Dutta

Mobile software application development process must be matured enough to handle the challenges (especially market related) associated with the development of high quality mobile software development. Ever increasing number of both mobile users and mobile applications had presented software engineers with the challenge of satisfying billions of users with high quality software applications to be delivered within deadline and budgets. Always there had been a lot of pressure to develop complex software categorized by thousands of requirements, under resource constrained environment. Requirement prioritization is one of the activities undertaken by software engineer to deliver partial software product to its customers such that most important requirements are implemented in the earliest releases. During next releases some changed and pending requirements are implemented, an activity that generates ripple effects. Such ripple effects need to be tested by executing modified source code against test cases of previous releases (regression testing). Regression testing is a very effortful activity that requires a software tester to select test cases that have high fault detection capability, execute the modified code against selected test cases and performing debugging. This regression testing activity can be lowered to the maximum extend by considering dependencies between requirements during the time of requirement prioritization. Thus requirement prioritization will be carried out not only against aspects like cost, time, risks, business values etc but against dependencies also. The aim is to implement almost all dependent highest priority requirements in current release so that implementation of new requirements is unlikely to have ripple effects. Changes in requirements might not be related to variable usage and definition and might not involve a change in functionality. In such cases there is no need to select already executed test cases of previous versions. Module dependencies can lead to test case selections of previous versions if changes of requirement lead to ripple effects. This paper aims to implement highest priority requirements such that regression testing is performed to minimum thereby improving development process of mobile applications. The proposed technique had been successfully evaluated on Android based notification software application that meets the specification of Aakash tablets.


2015 ◽  
Vol 15 (2) ◽  
pp. 6480-6490
Author(s):  
Mohd Muqeem ◽  
Dr. Md. Rizwan Beg

The importance of the prioritization in commercial software development has been analyzed by many researchers. The gathered requirements are required to be put into an order of some priority. In other words we can say that there is a need to prioritize the requirements. It is evident that most of the approaches and techniques proposed in recent research to prioritize the requirements have not been widely adopted. These approaches are too complex, time consuming, or inconsistent and difficult to implement In this paper we propose a fuzzy based approach for requirement prioritization in which  requirement are prioritized in early phase of requirement engineering as post elicitation step. This category of prioritization is known as early requirement prioritization. The proposed fuzzy based approach considers the nature of requirements by modeling their attributes as fuzzy variables. As such, these variables are integrated into a fuzzy based inference system in which the requirements represented as input attributes and ranked via the expected value operator of a fuzzy variable.


Author(s):  
Varun Gupta ◽  
Shivam Lohia ◽  
Deniz Çetinkaya ◽  
Hye-jin Kim

Author(s):  
Varun Gupta ◽  
D.S. Chauhan ◽  
Kamlesh Dutta

Web 2.0 applications are complex information systems. Likewise any desktop applications, web applications are complex and require effective requirement prioritization preceded by effective decision aspect prioritization by involving diverse stakeholders. During the release of new increments, objective is to provide value to the software and simultaneously lowering the regression testing effort. This can be achieved by implementing all highest priority requirements along with those dependent on them so that next increments implemented requirements independent of already implemented ones. The challenges involved in aspect selection, requirement prioritization, and effective selection of the security requirements of Web 2.0 application makes its incremental deliveries a complex task as compared to that of desktop applications. The proposed requirement prioritization process is hybrid approach i.e. Based on combination of negotiations and methods to prioritize both decision aspects and software requirements. This technique reduces regression testing effort by taking an impact on regression testing as one of the parameters during prioritization and overcomes various problems related to prioritization of web 2.0 applications. This technique is applied on live system of “Virtual Classroom”, by employing three stakeholder groups with total 8 stakeholders. Results were promising since it resulted in the successful delivery of web application due to effective aspect and requirement prioritization thereby leading to reduced regression testing effort.


Sign in / Sign up

Export Citation Format

Share Document