1 Introduction

The requirements elicitation techniques are used to determine the software requirements (SRs) according to the need of the stakeholders. Different techniques have been proposed to elicit the requirements of software like “traditional methods” [1], “goal oriented methods” [2], “quality function deployment” [3], etc. After the completion of the elicitation process, a system may have large number of requirements which are mainly divided into functional requirements (FRs) and non-functional requirements (NFRs); and it is a challenging task to implement all the SRs with limited resources like inadequate budget, time, technical staff, etc. FRs specifies the functionality of the system, on the other hand, NFRs defines the quality attributes which are used as criteria during the evaluation of FRs. SRs are implemented according to their priorities in different releases of software [4]. The software requirements prioritization (SRP) process confirms the correct ordering of SRs during the implementation phase. The involvement of the stakeholders during the SRP process often leads to accurate prioritization of the SRs. The goal of the SRP process is to obtain the essential requirements of the stakeholders based on the ranking order so that a successful system can be developed [5, 6].

A system can be implemented successfully if its requirements have been elicited, analyzed, and prioritized systematically [7, 8]. The aim of SRP is to identify the ranking values of SRs with respect to quality, available resources, cost, delivery time, etc. [9, 10]. SRP is one of the design conventions that allow the software under study for development to work according to the need of the stakeholders [11]. SRP helps software developers to implement the preferential SRs of stakeholders. It is proven that all SRs cannot be implemented in a single release due to inadequate resources, insufficient budget, and lack of skilled programmers [11, 12]. How to select the SRs for different releases of the software is an important research issue [8].

There are less chances of the failure of a software product if it is developed according to the priority of the requirements. The prioritization of SRs based on different criteria creates a “multi-criteria decision making” (MCDM) problem whose aim is to find out the ranking order of requirements so that it can be selected for modeling, analysis, designing, and finally for the implementation [13]. In the SRP process, several stakeholders play a part to compute the ranking values of the SRs based on different criteria like business importance, cost, performance, security, etc. In this process, each stakeholder has a different judgment about the same SR because of the different levels of work experience, knowledge and understanding [14]. During the SRP process stakeholders may use linguistic terminologies to describe their preferences on SRs [15, 16]. For example, the system should be more reliable and secure. Here, the term “more” is a linguistic variable. Such subjective and ambiguous information is measured by the fuzzy numbers. In this paper we present a method for the selection of SRs using rough set theory to address the limitations of the fuzzy based methods for the selection of SRs [17,18,19].

The following steps of the research process have been employed to explain the proposed methodology [20]: (a) Research objective: The objective of this research is to develop a method using rough set theory for the selection of SRs; (b) Conducting the literature review: Based on our literature review, we have identified different methods for the selection of SRs which have been developed by different techniques like “analytic hierarchy process” (AHP), fuzzy logic, CBRank method, etc. A complete review in the area of SRP is detailed in Sect. 2; (c) Choice of methodology: In the proposed method, rough set theory has been used because it captures the exact opinion of the decision makers, (d) Data collection and analysis: In our work we have collected the data from [21] for the analysis, and (e) Implementation: the implementation part of our work is discussed in Sect. 5.

The contributions of the present work are as follows:

  1. 1.

    A method has been proposed using rough set theory to compute the ranking values of the SRs by capturing the exact opinions of the decision makers during the evaluation of FRs and NFRs

  2. 2.

    A comparative study is presented to illustrate the capability of the proposed method by using the data gleaned from the work of Sadiq and Jain [21]

This paper is organized as follows: Sect. 2 presents the related work in the area of SRP. An insight into rough set theory is given in Sect. 3. The proposed method for the prioritization of SRs using rough set theory is given in Sect. 4. Explanation of the proposed method with the help of an example is given in Sect. 5. Finally, conclusions and future work are presented in Sect. 6.

2 Related work

Different SRP techniques have been developed to determine the ranking values of SRs [11, 22,23,24]. For example, Perini et al. [25] evaluated the requirements prioritization methods based on the two tools AHP and CBRank. The parameters used were: (a) ease of use, (b) the time consumption, and (c) accuracy. For the experimental work, a set of twenty requirements was used. As a result, CBRank was found to be the best method. Tonella et al. [26] proposed an “interactive genetic algorithm” (IGA). In this method the knowledge acquisition was combined with dependencies and priorities. A real case study was used to validate the IGA; and the results were compared with the incomplete AHP. Based on the experimental work, it was found that IGA produced a good approximation of the requirements ranking. Kakar [27] investigated the “penalty reward calculus” of software users. Babar et al. [28] proposed an expert system, i.e., Priority Handler (PHandler) for the prioritization of a large set of requirements. Three methods were used in PHandler to deal with the large set of requirements, i.e., (a) value-based intelligent prioritization (VIRP) techniques, (b) neural network, and (c) AHP. The VIRP technique includes three steps, i.e., stakeholder elicitation and stakeholder level prioritization, expert level prioritization, and fuzzy logic based requirements prioritization. For the experimental work, the authors have used seven datasets of 14, 25, 50, 100, 200, 400, and 500 SRs. Achimugu et al. [29] focused on the involvement of the stakeholders during the decision making process. A web based tool was developed for the prioritization of the SRs in which relative weights of the stakeholders were normalized and aggregated. The prioritized list of requirements was generated from this tool. Achimugu et al. [30] proposed a scalable method for requirements prioritization by computing a confidence function to compute the ranking values of the requirements. Achimugu et al. [31] developed a method for the prioritization of the large set of requirements. In their work, K-means algorithm was employed to deal with the large set of requirements.

Linguistic variables are preferred by the decision makers rather than numeric values during the SRP process because human judgements have intrinsic subjectivity [32]. The linguistic variables are represented either in words or in sentences [33]. Several types of the linguistic variables may be used during the evaluation of the security of a system like good, poor, etc. Various techniques have been proposed to handle the subjectivity during the SRP process [11, 19, 34]. For example, Zhu et al. [35] use fuzzy logic to address the issue of subjectivity in softgoal interdependency graph.

Mishra et al. [36] proposed a method to analyze the user requirements for software project management using Mamdani fuzzy rules. In their work, the main focus was on completeness and understandability of SRs. Ejnioui et al. [37] developed an approach for requirements prioritization using fuzzy ranking numbers in which the expected value was used to express the importance of an attribute in a requirement. Momeni et al. [38] developed a neuro-fuzzy system for the prioritization of the software QRs. The effectiveness of the system was discussed by considering thirteen requirements of sales system and financial system. Mougouei et al. [39] focused on the selection of security requirements (SecRs) using fuzzy logic. The proposed method was explained by considering twelve requirements of “Online Banking System” (OBS). A goal oriented method was used to model the SecRs of OBS. Lima et al. [40] developed a technique for SRP using fuzzy logic. The proposed method was explained by considering nine requirements.

Achimugu et al. [41] applied fuzzy based MCDM approach for SRP. In another study, Singh et al. [42] also applied fuzzy MCDM method for the prioritization of the SRs. In this method, the “logarithmic fuzzy trapezoidal” approach was used to enhance the academic library services. Bajaj et al. [43] proposed a method to address the issue of the conflicting requirements. The fuzzy based AHP and alpha-cut operations were employed to prioritize the conflicting requirements. Travel management planning web site was used as a part of the case study. An integrated fuzzy AHP and fuzzy “Technique for Order of Preference by Similarity to Ideal Solutions” (TOPSIS) method was proposed by [44] for the selection of SRs. The proposed method was explained by considering the SRs of an “Institute Examination System” (IES). Achimugu et al. [45] developed a fuzzy TOPSIS based model to control the possibility of delivering poor quality system development from the vague requirements. Ahmad et al. [46] developed the fuzzy MoSCoW approach for the prioritization of SRs. MoSCoW technique prioritizes the SRs based on the following criteria: (1) “Must Have” (Mo), (2) “Should Have” (S), (3) “Could Have” (Co), and (4) “Won’t Have This Time” (W). The proposed method was discussed by using ten requirements of library management system. Jawale et al. [47] applied “adaptive fuzzy hierarchical cumulative voting” for requirements prioritization. Gaur and Soni [48] proposed an integrated approach for requirements prioritization using fuzzy decision making. The proposed method was explained by using the material management agent oriented system. Ejnioui et al. [49] developed a “fuzzy multi-attribute decision making” method for SRP. Mohammad et al. [50] developed a fuzzy based method for SRs analysis. Barbosa et al. [51] applied verbal decision analysis for the selection and prioritization of SRs. It has been observed that requirements may change during SRs prioritization process. So it triggers the rank reversal problem. In this case, SRs were reprioritized based on the stakeholder’s feedback. To deal with this issue, Asif et al. [52] developed a semi-automated framework for SRP. Dabbagh et al. [53] focused on the prioritization of the NFRs using fuzzy logic. For the selection of SRs in a software system project, a “semi-automated stakeholder quantification and prioritization” method was developed by Hujainah et al. [54]. Dealing with uncertainty during the prioritization was discussed in [55]. Value based intelligent technique was used by [56, 57] for the prioritization of the SRs.

The above methods have been developed to deal with fuzziness during the SRP process. In these methods different types of membership functions are used to represent the linguistic variables; and the selection of membership function depends on the subjective judgement so it is difficult to accurately determine the boundary of the fuzzy set. Using fuzzy numbers it is difficult to capture the true perception of the decision makers. The main focus of the fuzzy based methods is on the subjective justification; and thus it lacks objectivity. As a result, it may affect the ranking values of the SRs. Therefore, a method has been developed using rough set theory to compute the ranking values of SRs.

3 Rough set theory

The concept of the rough set theory was proposed by Zdzislaw Pawlak in 1980 to handle the vagueness and uncertainty [58]. The basic assumption behind the development of the rough set theory is that little information is linked with every object of the universe of discourse (\(U\)) [59]. Suppose some candidates are appearing for the placement in a multinational company. Then these candidates are the objects of an information table and the criteria for the selection of the candidates form the information about the candidates. Objects outlined by the same information are similar in view of the given information about them. The indiscernibility relation constructed in such a way is the base of the rough set theory. Ranking values of the alternatives can be computed without any added information about the dataset when rough set theory is used to deal with uncertainty. In the following theories, prior information about the data set is required, i.e., fuzzy set theory (FST), statistics, and Dempster-Shafer theory. In FST, prior information about grade of membership is required. The knowledge of the probability distribution and belief functions are required in statistics and Dempster-Shafer theory, respectively [60]. Both rough set theory and FST are separate concepts to tackle the issue of imperfect knowledge. There are some relations between rough set theory and discriminant analysis. In addition to this, Boolean reasoning and decision analysis are also related with each other [61, 62]. Information table in rough set theory is used to store the information about the real world. This table is also known as a decision table which is used to store the data of an industry or an organization like software industry, medicine, and finance, etc. An information table consists of objects and attributes. The objects are stored in rows and attributes (\(A\)) are stored in columns. An information system in rough set theory can be visualized as a pair \(S=<U,A>\). A decision system is represented as \(T=(U, A\cup \left\{d\right\})\), where \(d\notin A\) is the decision attribute and \(B\subseteq A\) and \(X\subseteq U\). [62, 63].

Let \(X\) is a concept of \(U\) and \(B\) defines an equivalence relation. The lower and upper approximations are constructed to approximate \(X\) using the information given in \(B\). The lower approximation \((\underline{B}X)\) and upper approximation \((\overline{ B }X)\) can be defined as follows: \(\underline{B}X=\{x\in U:{\left[x\right]}_{B}\subseteq X\}\) and \(\overline{B }X=\{x\in U: {\left[x\right]}_{B}\cap X\ne \varnothing \}\), where \({\left[x\right]}_{B}\) denotes the equivalence class of \(x\in U\). The objects in \(\underline{B}X\) can be classified with certainty, i.e., the value of probability \((p)\) = 1. On the other hand, in \(\overline{B }X\) the objects are classified with \(p<1\), as exhibited in Fig. 1.

Fig. 1
figure 1

Rough representations of a set with upper and lower approximations [17]

4 Proposed method

This section presents a method for the prioritization of the SRs using rough set theory. The proposed method includes the following steps:

  • Step 1: Stakeholder’s identification and their requirements

  • Step 2: Collection of DMs assessment during the evaluation of FRs and NFRs

  • Step 3: Representation of the relationship between FRs and NFRs using rough numbers

  • Step 4: Computation of the ranking values of the FRs based on rough numbers

Details of these steps are given below:

Step1 Stakeholder’s identification and their requirements

Stakeholders in any software project refer to persons, groups or an entity that are influenced by a system. These stakeholders can also influence an organization. The complete set of requirements can be elicited if the roles and responsibilities of the stakeholders have been identified before the starting of the requirements elicitation process [34, 64,65,66]. The aim of this step is to identify the stakeholders and their need so that a high quality software product can be developed [67].

Step 2 Collection of decision maker’s assessment during the evaluation of FRs and NFRs

The aim of this step is to collect the decision maker’s (DMs) assessment during the evaluation of the FRs based on NFRs. Various types of the DMs participates during the decision making process. These DMs may have dissimilar opinion for the same requirement when evaluated on the basis of some criteria [68, 69]. Suppose there are two DMs who are participating during the evaluation of some requirement, say R1, based on two criteria, i.e., cost and security. For the decision maker \({DM}_{1}\), the cost of the system should not be very high. On the other hand, the decision maker \({DM}_{2}\) wants to develop a more secure system. Here, both the DMs have dissimilar opinions which are expressed by linguistic variables. So collecting the opinions of all the DMs is an important step to compute the ranking order of SRs.

Step 3 Representation of the relationship between FRs and NFRs using rough numbers

Suppose there are \(n\) and \(m\) classes for the FRs and NFRs, respectively; and \(U\) is the universe which contains these requirements. The FRs and NFRs classes are represented as: \(F= {\{FR}_{1},{FR}_{2},...,{FR}_{n}\}\) and \(N={\{NFR}_{1},N{FR}_{2},\dots ,N{FR}_{m} \}\). If these requirements are ordered as \({FR}_{1}<{FR}_{2}<...<{FR}_{n}\) and\({NFR}_{1}<{NFR}_{2}<...<{NFR}_{m}\), then the lower approximations for any FR, i.e., \({FR}_{i} \in F,\) \(1 \le i \le n\) and NFRs, i.e., \({NFR}_{j }\in \) \(N,1 \le j\le m\), can be defined as [70, 71]:

$$ \underline{Apr} \left( {FR_{i} } \right) = { } \cup \left\{ {{\text{H}} \in {\text{U}}/{\text{F }}\left( {\text{H}} \right) \le FR_{i} } \right\} $$
(1)
$$ \underline{Apr} \left( {NFR_{j} } \right) = { } \cup \left\{ {{\text{P}} \in {\text{U}}/{\text{N}}\left( {\text{P}} \right) \le NFR_{j} } \right\} $$
(2)

The upper approximation of \({i}^{th}\) functional requirement (\({FR}_{i}\)) and jth non-functional requirement can be expressed as:

$$ \overline{Apr} \left( {FR_{i} } \right) = \cup \left\{ {{\text{H}} \in {\text{U}}/{\text{F }}\left( {\text{H}} \right) \ge FR_{i} } \right\} $$
(3)
$$ \overline{Apr} \left( {NFR_{j} } \right) = \cup \left\{ {{\text{P}} \in {\text{U}}/{\text{N }}\left( {\text{P}} \right) \ge NFR_{j} } \right\} $$
(4)

The boundary regions of the FRs (\(Bound\_{FR}_{i}\)) and NFRs (\(Bound\_{NFR}_{j}\)) can be defined as:

$$ Bound\_FR_{i} = \cup \left\{ {{\text{H}} \in {\text{U}}/{\text{F }}\left( {\text{H}} \right) \ne FR_{i} } \right\} = \left\{ {{\text{H}} \in {\text{U}}/{\text{F }}\left( {\text{H}} \right) > FR_{i} } \right\}{ } \cup \left\{ {{\text{H}} \in {\text{U}}/{\text{F }}\left( {\text{H}} \right) < FR_{i} } \right\} $$
(5)
$$ Bound\_NFR_{j} = \cup \left\{ {{\text{P}} \in {\text{U}}/{\text{N }}\left( {\text{P}} \right) \ne NFR_{j} } \right\} = \left\{ {{\text{P}} \in {\text{U}}/{\text{N }}\left( {\text{P}} \right) > NFR_{j} } \right\}{ } \cup \left\{ {{\text{P}} \in {\text{U}}/{\text{N}}\left( {\text{P}} \right) < NFR_{j} } \right\} $$
(6)

Based on the objects stored in an information table for FRs, the value of the lower approximation of an FR, i.e., \(\underline{Lim}({FR }_{i})\) will be computed by considering all the objects whose values are less than or equal to \({FR}_{i}.\) On the other hand, objects whose values are greater than or equal to \({FR}_{i}\) will be used in computing the value of the upper approximation of \({FR}_{i}\), i.e., \(\overline{Lim}\left({FR }_{i}\right).\) Similarly, the lower approximation value for an \({NFR}_{j}\), i.e., \(\underline{Lim}({NFR }_{j})\) will be calculated by using all the objects whose values are less than or equal to \({NFR}_{j}\). The upper approximation of an \({NFR}_{j}\), i.e., \(\overline{Lim}\left(N{FR }_{j}\right),\) will be calculated by using all the objects whose values are greater than or equal to \({NFR}_{j}.\) The rough number of an FR and NFR contains both the lower and upper approximation values. Mathematically, the lower approximation, upper approximation, and boundary region can be defined as follows:

$$ \underline{Lim} \left( {FR _{i} } \right) = \frac{1}{{J_{L} }}\sum F \left( H \right)|H \in \underline{Apr} \left( {FR_{i} } \right) $$
(7)
$$ \underline{Lim} \left( {NFR _{j} } \right) = \frac{1}{{Q_{L} }}\sum N \left( P \right)|P \in \underline{Apr} \left( {NFR_{j} } \right) $$
(8)
$$ \overline{Lim} \left( {FR _{i} } \right) = \frac{1}{{J_{U} }}\sum F \left( H \right)|H \in \overline{Apr} \left( {FR_{i} } \right) $$
(9)
$$ \overline{Lim} \left( {NFR _{j} } \right) = \frac{1}{{Q_{U} }}\sum N \left( P \right)|P \in \overline{Apr} \left( {NFR_{j} } \right) $$
(10)

In Eqs. (7) and (8), \({J}_{L}\) and \({Q}_{L}\) are the number of FRs and NFRs, respectively. These numbers are used in calculating the value of the lower approximation of both FRs and NFRs. Similarly, in Eqs. (9) and (10), \({J}_{U}\) and \({Q}_{U}\) are used in computing the value of the upper approximation of FRs and NFRs, respectively. The difference between the lower limit and upper limit is called the rough boundary \((RgBnd)\). Mathematically it can be represented as:

$$ RgBnd \left( {FR_{i} } \right) = \overline{Lim} \left( {FR _{i} } \right) - \underline{Lim} \left( {FR _{i} } \right) $$
(11)
$$ RgBnd \left( {NFR_{i} } \right) = \overline{Lim} \left( {NFR _{i} } \right) - \underline{Lim} \left( {NFR _{i} } \right) $$
(12)

Step 4 Computation of the ranking values of the FRs based on rough numbers

The ranking values of the FRs are computed by using the rough numbers. The process to compute the ranking values of FRs based on rough numbers are given below [70, 71]:

Let \({RN}_{1}=[{L}_{1},{U}_{1}]\) and \({RN}_{2}=[{L}_{2},{U}_{2}]\) be two rough numbers (RNs). The \({L}_{1}\) and \({U}_{1}\) are the lower and upper limits of \({RN}_{1}\). On the other hand, the lower and upper limits of rough number \({RN}_{2}\) are \({L}_{2}\) and \({U}_{2}\), respectively. Following steps have been used to decide the ranking order of FRs:

  1. 1.

    If \({U}_{1}\) \(=\) \({U}_{2}\) and \({L}_{1}\) \(=\) \({L}_{2}\) then both the rough numbers will be equal, i.e., \({RN}_{1}={RN}_{2}\)

  2. 2.

    If \({U}_{1}\) \(>\) \({U}_{2}\) and \({L}_{1}\) \(\ge \) \({L}_{2}\) or \({U}_{1}\) \(\ge \) \({U}_{2}\) and \({L}_{1}\) \(>\) \({L}_{2}\) then rough number \({RN}_{1}\) is greater than \({RN}_{2}\), i.e., \({RN}_{1}>{RN}_{2}\)

  3. 3.

    If \({U}_{1}\) \(>\) \({U}_{2}\) and \({L}_{1}\) \(<\) \({L}_{2}\) or \({U}_{2}\) \(>\) \({U}_{1}\) and \({L}_{2}\) \(<\) \({L}_{1}\) then the median value (M) of a rough number is computed. Following rules are employed in determining the ranking order of the requirements based on M:

  4. If (\({U}_{2}\) \(<\) \({U}_{1}\) and \({L}_{2}\) \(>\) \({L}_{1})\) and (if \({M}_{1}\le {M}_{2})\) then \({RN}_{1}<{RN}_{2}\);

  5. If (\({U}_{2}\) \(<\) \({U}_{1}\) and \({L}_{2}\) \(>\) \({L}_{1})\) and (if \({M}_{1}>{M}_{2})\) then \({RN}_{1}>{RN}_{2}\).

Similarly, the ranking values of the FRs can be determined for the following conditions: \({U}_{1}\) \(<\) \({U}_{2}\) and \({L}_{1}\) \(>\) \({L}_{2}\).

The priorities of FRs are decided on the basis of the ranking values. Thus, those FRs which have the highest priority will be selected during the implementation of software.

5 Implementation

The implementation of the proposed method is discussed in this section. In [21], fuzzy based approach was used to prioritize the SRs of an institute examination system (IES). To identify the SRs of IES, ten stakeholders, i.e.,\({S}_{1}, {S}_{2}\),…,\({S}_{10}\); and five decision makers, i.e., \({DM}_{1, } {DM}_{2, }\dots , {DM}_{5 },\) participated during the group requirements elicitation and analysis process. After requirements elicitation, ten stakeholders identified the following FRs and NFRs: (\({FR}_{1}\)): “printout of the bank receipt of student fee”; (\({FR}_{2}\)): “entry of external and internal marks”; (\({FR}_{3}\)): “view semester results”; (\({FR}_{4}\)): “generate examination seating arrangement”; (\({FR}_{5}\)): “online conduct of examination” (\({FR}_{6}\)): “fill examination form”; (\({FR}_{7}\)): “upload any exam related activities”; (\({FR}_{8}\)): “generate examination hall ticket”; (\({FR}_{9}\)): “approve examination hall ticket”; (\({FR}_{10}\)): “online payment of examination”; (\({NFR}_{1}\)): “security”; (\({NFR}_{2}\)): “reliability”; and (\({NFR}_{3}\)): “performance”.

In this paper, we have adopted the data of the evaluation of the FRs based on NFRs from [21]; and it is given in Table 1.

Table 1 Evaluation of ten FRs based on three NFRs by five decision makers’ perceptions [21]

In Table 1 following linguistic variables were used for the evaluation of the FRs based on the NFRs: Very weak (VW), Weak (W), Medium (M), Strong (S), and Very Strong (VS). The triangular fuzzy numbers (TFNs) for these linguistic variables are (2,2,4), (2,4,6), (4,6,8), (6, 8, 10), (8,10,10), respectively. In Table 1, five decision makers (DMs), i.e., \({DM}_{1}\), \({DM}_{2}\), \({DM}_{3}\), \({DM}_{4}\), and \({DM}_{5}\), gave their preferences by using the linguistic variables, i.e., VW, W, M, S, and VS, over ten FRs based on three NFRs. For example, \({DM}_{1}\) evaluated the \({FR}_{1}\) on the basis of \({NFR}_{1}\) (i.e., security); and found that \({FR}_{1}\) requires less security. As a result, the entries of \({DM}_{1}\) (row) and \({NFR}_{1}\) (column) contains W (i.e., Weak). Similarly, \({FR}_{1}\) was evaluated by \({DM}_{1}\) on the basis of \({NFR}_{2}\) (reliability) and \({NFR}_{3}\) (performance). According to \({DM}_{1}\), \({FR}_{1}\) should be strongly reliable and its performance should be good. As a result, the entries of the “\({DM}_{1}\) and \({NFR}_{2}\)” and “\({DM}_{1}\) and \({NFR}_{3}\) of Table 1 contains the following linguistic variables: S, i.e., strong and VS, i.e., very strong, respectively. The same procedure was used for the evaluation of the entire FRs by the five decision makers on the basis of the three NFRs, i.e., \({NFR}_{1}\), \({NFR}_{2}\), and \({NFR}_{3}\).

The importance weight of the NFRs by ten stakeholders is given in Table 2. Following linguistic variables were used for the evaluation of the NFRs by ten stakeholders in Table 2: Very low (VL), Low (L), Middle (M), High (H), and Very High (VH). The TFNs for these linguistic variables are (0, 0, 0.25), (0, 0.25, 0.5), (0.25, 0.5, 0.75), (0.5, 0.75, 1), and (0.75, 1, 1), respectively. In Table 2, ten stakeholders evaluated three NFRs, i.e.,\({NFR}_{1}\),\({NFR}_{2}\), and \({NFR}_{3}\), and specified their preferences on each NFR. According to the stakeholder \({S}_{1}\), \({NFR}_{1}\) should be VH, \({NFR}_{2}\) should be H, and \({NFR}_{3}\) should be M. As a result, these preferences were stored under the stakeholder \({S}_{1}\) column, see Table 2. Similarly, the preferences of the remaining stakeholders were captured and the result was stored in Table 2. To compute the ranking values of FRs from Table 1, most promising value of the TFNs has been used, for example, the linguistic variables “VW”, “W”, “M”, “S”, and “VS” are represented by 2, 4, 6, 8, and 10 respectively. Based on the Eqs. (1) to (12), the rough approximations and rough numbers for the classes concerning the importance rating can be easily computed.

Table 2 Importance weights by ten stakeholders for NFRs [21]

Taking \({FR}_{1}\) and \({NFR}_{1}\) from Table 1 as an example, five decision makers provided four classes for the importance rating of \({FR}_{1}\) based on the evaluation of \({NFR}_{1}\): class “4” rated by \({DM}_{1}\); class “6” rated by \({DM}_{3}\); class “8” rated by \({DM}_{2}\) and \({DM}_{4}\); and class “10” rated by \({DM}_{5}\). Now these class values are arranged in an ascending order (AO) list, i.e., AO list: 4, 6, 8, and 10. Based on these values the lower and upper limits of every class are computed.

To compute the lower limit of class “4”, all the values of the class will be included from AO list which are less than and equal to “4”. So, there is only one value in the list which is less than or equal to “4” which is “4” as given by \({DM}_{1}\). Therefore, the lower limit of class “4” is 4.To compute the upper limit of class “4”, all the values of the classes will be included from AO list which are greater than or equal to “4”. So, there are five values which are greater than or equal to 4, i.e., 4, 8, 6, 8, and 10. These values are specified by \({DM}_{1}\), \({DM}_{2}\), \({DM}_{3}\), \({DM}_{4}\), and \({DM}_{5}\), respectively.

After taking the average of these values, we got the upper limit value of class “4”, i.e., 7.2.We have summarized the values of the lower limit, upper limit, and boundary regions of each class value, i.e., 4, 6, 8, and 10, in Table 3. The lower and upper limits, the rough boundary interval, and rough number of each class are calculated as follows:

Table 3 The lower, upper approximations and boundary regions of \({FR}_{1}\)

Calculation for Class “4”

Lower limit: \(\underline{Lim}\left(4\right)\) \(= H \left({DM}_{1}\right)=4\)

Upper limit: \(\overline{Lim}\left(4\right)=H\)(\({DM}_{1})+ H\left({DM}_{2}\right)+H\left({DM}_{3}\right)+H\left({DM}_{4}\right)+H\left({DM}_{5}\right)\) \(=\frac{4+8+6+8+10}{5}=7.2\)

Rough boundary interval: \(RgBnd \left(4\right)=\overline{Lim}\left(4\right)-\underline{Lim}\left(4\right)=7.2-4=3.2\)

Rough number: \(RN \left(4\right)=[4, 7.2]\)

Calculation for Class “6”

Lower limit: \(\underline{Lim}\left(6\right)\) \(= H \left({DM}_{1}\right)+H \left({DM}_{3}\right)=\frac{4+6}{2}=5\)

Upper limit: \(\overline{Lim}\left(6\right)=H\left({DM}_{2}\right)+H\left({DM}_{3}\right)+H\left({DM}_{4}\right)+H\left({DM}_{5}\right)=\frac{8+6+8+10}{4}=8\)

Rough boundary interval: \(RgBnd \left(6\right)=\overline{Lim}\left(6\right)-\underline{Lim}\left(6\right)=8-5=3\)

Rough number: \(RN \left(6\right)=[5, 8]\)

Calculation for Class “8”

Lower limit: \(\underline{Lim}\left(8\right)\) \(=H\)(\({DM}_{1})+ H\left({DM}_{2}\right)+H\left({DM}_{3}\right)+H\left({DM}_{4}\right)=\frac{4+8+6+8}{4}=6.5\)

Upper limit: \(\overline{Lim}\left(8\right)=H\left({DM}_{2}\right)+H\left({DM}_{4}\right)+H\left({DM}_{5}\right)=\frac{8+8+10}{3}=8.66\)

Rough boundary interval: \(RgBnd \left(8\right)=\overline{Lim}\left(8\right)-\underline{Lim}\left(8\right)\) \(=8.66-6.5=2.16\)

Rough number: \(RN \left(8\right)=\left[6.5, 8.66\right]\)

Calculation for Class “10”

Lower limit: \(\underline{Lim}\left(10\right)\) \(= H\)(\({DM}_{1})+ H\left({DM}_{2}\right)+H\left({DM}_{3}\right)+H\left({DM}_{4}\right)+H\left({DM}_{5}\right)=\frac{4+8+6+8+10}{5}=7.2\)

Upper limit: \(\overline{Lim}\left(10\right)=H\left({DM}_{5}\right)=10\)

Rough boundary interval: \(RgBnd \left(10\right)=\overline{Lim}\left(10\right)-\underline{Lim}\left(10\right)=10-7.2=2.8\)

Rough number: \(RN \left(10\right)=\left[7.2, 10\right].\)

In Table 1, the importance ratings of the FRs are represented by the fuzzy numbers. All the fuzzy number have identical fuzzy boundary, which is fixed at 2, i.e., \(4-2=2\) in case of linguistic variable VW. In reality it is not always possible to have the fixed boundary intervals. These boundary intervals are decided by the experts. Due to the subjective judgement, the fuzzy based approaches may not be able to deal with the exact perception of the DMs on the importance ratings of SRs [70].

As we have observed that in FST based methods, same fuzzy number is used during the computation. On the other hand, in rough set theory, each class of importance rating is represented by different rough numbers because these numbers consider the opinion of all the DMs, while, in case of FST, the opinion of single DM is considered during the computational process. The rough numbers have a propensity to shift towards the true perception of the importance ratings of SRs. The five DMs perception on ten FRs in Table 1 was converted by using the rough numbers. The calculated rough numbers for \({FR}_{1}\) based on \({NFR}_{1}\) by five DMs are [4, 7.2], [6.5, 8.66], [5, 8], [6.5, 8.66], and [7.2, 10]. Similarly, the calculated rough numbers for \({FR}_{1}\) based on \({NFR}_{2}\) are [8, 8.8], [8.8, 10], [8, 8.8], [8.8, 10], and [8, 8.8]; and calculated rough numbers for \({FR}_{1}\) based on \({NFR}_{3}\) are [6.4, 10], [2, 6.4], [5.5, 8.67], [3, 7.5], and [5.5, 8.67]. The same procedure was applied to compute the rough numbers for the remaining FRs. The importance weight of NFRs, as given in Table 2, was converted by using the rough numbers and as a result the importance weight (IW) of three NFRs is given as below:

$${IW\_NFR}_{1}=\left[\mathrm{0.349,0.7903}\right],$$
$${IW\_NFR}_{2}=\left[\mathrm{0.3305,0.7664}\right],$$
$${IW\_NFR}_{3}=\left[\mathrm{0.3592,0.8306}\right].$$

The procedure to perform the different operations on rough numbers is similar to fuzzy numbers [70, 71]. For example, if \({RN}_{1}=[{L}_{1},{U}_{1}]\) and \({RN}_{2}=[{L}_{2},{U}_{2}]\) are two rough numbers, then:

$$ RN_{1} \times C = \left[ {CL_{1} ,CU_{1} } \right] $$
(13)
$$ RN_{2} \times C = \left[ {CL_{2} ,CU_{2} } \right] $$
(14)

where \(C\) is a constant.

$$ RN_{1} \times RN_{2} = \left[ {L_{1} ,U_{1} } \right] \times \left[ {L_{2} ,U_{2} } \right] = \left[ {L_{1} \times L_{2} , U_{1} \times U_{2} } \right] $$
(15)

The relative importance rating (\(RIR\)) of \(FRs\) is calculated as follows. Taking \({FR}_{1}\) and \({NFR}_{1}\) as an example:

$$RIR \left({FR}_{1},{NFR}_{1}\right)=\frac{\left[\mathrm{4,7.2}\right]+\left[\mathrm{6.5,8.66}\right]+\left[\mathrm{5,8}\right]+\left[\mathrm{6.5,8.66}\right]+\left[\mathrm{7.2,10}\right]}{5}=[5.84 , 8.504]$$

Similarly, the RIR of \({FR}_{1}\) based on \({NFR}_{2}\), i.e., \(RIR \left({FR}_{1},{NFR}_{2}\right)\) and \({NFR}_{3}\), i.e., \(RIR \left({FR}_{1},{NFR}_{3}\right)\) are computed. After computation we have got the values of \(RIR \left({FR}_{1},{NFR}_{2}\right)=[8, 9.28]\) and \(RIR \left({FR}_{1},{NFR}_{3}\right)=\) \([4.48, 8.248].\) The same procedure was applied to compute the RIR of the remaining FRs. Now the final importance ratings of the FRs are calculated. The final importance rating of \({FR}_{1}\) is computed as:

$$=\frac{\left[RIR \left({FR}_{1},{ NFR}_{1}\right)\right]\times \left[IW\_{NFR}_{1}\right]+\left[RIR \left({FR}_{1},{ NFR}_{2}\right)\right]\times [IW\_{NFR}_{2}]+[RIR \left({FR}_{1},{ NFR}_{3}\right)] \times {[IW\_NFR}_{3}]}{3}$$
$$=\frac{\left[5.84, 8.504\right]\times \left[0.349, 0.7903\right]+\left[\mathrm{8,9.28}\right]\times \left[0.3305, 0.7664\right]+\left[\mathrm{4.48,8.248}\right]\times [0.3592, 0.8306]}{3}$$
$$=[2.097, 6.894]$$

After computing the RIR, the final importance ratings and scaled final importance ratings for FRs are determined. By using the procedure given in step 4 of the proposed method, the ranking values of the ten FRs are calculated. After computation, the ranking order of the FRs is as given below:

$${FR}_{6}>{FR}_{10}>{FR}_{1}>{FR}_{4}>{FR}_{9}>{FR}_{8}>{FR}_{2}>{FR}_{3}>{FR}_{7}>{FR}_{5}$$

The results of the proposed method are compared with the fuzzy based method [21] on the basis of the ranking values of FRs. Table 4 presents the comparative study between the proposed method and the fuzzy based method [21]. Here, the point of comparison is the ranking values of the FRs. So based on the ranking values of the FRs, we found that both the methods generates the same ranking values for the top three FRs, i.e., \({FR}_{6}\), \({FR}_{10}\), and\({FR}_{1}\); and the ranking values of these requirements are 1, 2, and 3, respectively. The ranking value of \({FR}_{5}\) is also the same by both the methods, i.e., 10. There are slight variations in the ranking values of\({FR}_{2}\), \({FR}_{3}\), \({FR}_{4}\), \({FR}_{7}\), \({FR}_{8}\), and\( {FR}_{9}\). For example, the ranking value of \({FR}_{2}\) from proposed method is 7; but from the method proposed by [21], its ranking value was 6. The reason for such variations in the ranking values of the FRs is due to the kind of methodology used to compute the ranking values of FRs. Fuzzy based methods use the fixed and predefined boundary intervals. In the proposed method, the lower and upper limits of the rough numbers are directly calculated from the actual data; and no prior information is needed to compute the ranking values of the FRs. Based on our analysis, we found that effort required to compute the ranking values from the proposed method is less in comparison to the method developed by Sadiq and Jain [21].

Table 4 Comparative study based on ranking values of FRs

6 Conclusion and future work

This paper presents a method for the prioritization of the SRs using rough set theory. In rough set theory, no prior information about the data is needed to compute the ranking values of the SRs. In the case of the fuzzy based methods, prior information about the type of membership function is required. Selection of the membership function depends on the DMs knowledge. So these methods lack objectivity and generality. On the other hand, rough set theory mainly focuses on objectivity and generates the rough numbers based on the lower and upper approximations of the classes. The upper and lower limit of the rough numbers is calculated on the basis of the importance rating of each FR. The proposed method has been applied to prioritize and select the SRs of the IES. The result of the proposed method was compared with the work of [21]. As a result, we find that the ranking values of \({FR}_{6}\), \({FR}_{10},\) \({FR}_{1}\), and \({FR}_{5}\) are the same by both the methods. There were slight variations in the ranking values of the remaining FRs. In future work, we shall try to focus on the following issues:

  1. 1.

    One of the limitations of the present work is that only a small set of SRs have been used to compute the ranking values. In the future work, we plan to apply the proposed method on a large set of SRs. We also plan to compare the results with fuzzy AHP and fuzzy TOPSIS methods.

  2. 2.

    An integration of the fuzzy and rough set theory based methods would be really effective for the selection and prioritization of SRs. The development of this integrated method still requires a lot of ground work.

  3. 3.

    Both the fuzzy and rough set approach will be implemented on a real world large scale problem and compared with regard to performance and computation time.