ANOVA Based Significance Testing of Non-functional Requirements in Software Engineering

ANOVA Based Significance Testing of Non-functional Requirements in Software Engineering

Harsimran Kaur (GLA University, Mathura, India) and Ashish Sharma (GLA University, Mathura, India)
Copyright: © 2019 |Pages: 18
DOI: 10.4018/IJITPM.2019100104


Non-functional requirements (NFRs) demonstrate how the software system works, though functional requirements represent the tasks of the system (software system). It does not indicate that the latter is more significant, but a majority of requirement collecting approaches emphasis on functional requirements. Therefore, due to the subjective nature and complexity of NFRs, it is relatively impractical to focus on each NFRs. The primary objective of this article is to model NFRs in the form of a Soft Goal Interdependency Digraph (SID). The SID is based on the Interpretive Structural Modeling (ISM) technique which in turn employs the Matrices Impacts Cruise's Multiplication Applique a UN Casement (MICMAC) and Analytic Hierarchy Process (AHP) techniques for the identification of significant NFRs. Therefore, the proposed method allows the analysts and developers to monitor and select best possible trade off selections between NFRs. To evaluate the significance of the proposed technique over others, Analysis of variance (ANOVA) based significance testing is also implemented.
Article Preview


Requirement ranking is a process to accomplish the selection of requirements. It is a difficult job, due to the participation of numerous sponsors with possibly different requirements to be handled. Therefore, enormous effort is required to evaluate the requirements (Chopra et al., 2016). The incorrect requirement collection not only outcomes in a wasteful effort and possibly increased the effort of succeeding development, but also possesses the risk of software development failures (Anand & Dinakaran, 2017). The software includes functional and non-functional requirements which evaluate the success of the developed software within the market. The users always appreciate if NFRs are employed (Dabbagh et al., 2016). The possible motive could be that NFRs regulates the success rate of functional characteristics of the developed software and are typically unheard between its users. User capitalizes limited of NFRs after the system is put to use and additional necessities as he interacts with opponent systems (Silva et al., 2017). The system could have various NFRs which regulate the success rate of designed software. Non-Functional Requirements (NFRs) must be designated for implementation together with functional requirements to improve the accomplishment of software systems (Fenn et al., 2016).

Asadi et al. (2014) integrated Analytical Hierarchy Process (AHP) and Fuzzy Cognitive Maps (FCM) to evaluate NFRs weights based upon investors’ priorities and interdependencies among non-functional properties. Liu (2014) designed a conflict detector in NFRs evolution technique which utilizes ontologies as a theoretical substance for automatically distinguishing conflicts. Chouali et al. (2013) implemented SysML to evaluate NFRS using sequence diagrams. In it, transitions are interpreted with costs to specify NFRs properties.

There are many definitions of NFRs in the literature. Chung et al. (2009) questions that “in the presence of so many different definitions on NFRs how should we proceed.” In their paper, they define it as: I → O (e.g., sum: int x int → int), just about anything that addresses characteristics of f, I, O or relationships between I and O will be considered NFRs.

The NFR is represented separately from functional requirements, usually in the form of simple sentences. It is contained in section 3 of IEEE recommended practice for software requirement specifications. Many other initial approaches such as NFR Framework (Juteta et al., 2006) and UML which deals with NFRs informally have been discussed in the literature. To address the changing needs of many different classes of users related to NFR a novel approach is considered by Kaur et al. (2016). It is hard to determine the degree of mutual reliance between them when there is significant number of NFRs with the above representation techniques.

There have been only a few studies on NFR ranking in software systems to date, but those are very specific to the particular software application. Some of the ranking techniques for NFR are discussed here.

Karlsson, Wohlin, and Regnell (1998) concluded AHP technique to be the most promising method to prioritize requirements. Liaskos, Jalman, and Aranda (2013) used AHP in their model by mapping every OR-decomposition in the goal model into a separate decision problem. They treated all NFRs as mandatory which is not possible in praxis. Elahi and Yu (2011) describe the Requirements Hierarchy Approach (RHA), a quantifiable method to measure and manipulate the effects that NFRs have on a system without focusing on NFR interdependencies.

Kassab (2013, 2015) provides a set of specialized guidelines to transform the hierarchy that visualizes the NFR framework into an AHP decision hierarchy. It focused on the pragmatic solution to rank the alternative operationalisations that satisfy NFRs while considering their interdependencies. But there is need to check for the inconsistency of the priorities calculated by AHP. Zhu et al. (2012) proposes a fuzzy qualitative and quantitative soft goal interdependence graphs (FQQSIG) model for non-functional requirement correlations analysis in Trustworthy Software and presents a tool based on Matlab. It used the Relation Matrix algorithm that to cope with the negative impact along with the positive influence among NFRs. In this proposed model, ISM is integrated with AHP to generate soft goal digraph for identified NFR.

Complete Article List

Search this Journal:
Open Access Articles
Volume 11: 4 Issues (2020): 1 Released, 3 Forthcoming
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing