Abstract
Software requirements prioritization (SRP) is one of the key activities of the requirements elicitation process in which several decision makers are involved for the evaluation of the software requirements (SRs) based on various criteria. Different fuzzy based methods have been developed to compute the ranking values of the SRs. In these methods different types of membership functions are employed to model the linguistic variables. It is hard to decide the boundary of the fuzzy set accurately because membership functions are selected on the basis of subjective judgement. The fuzzy based methods may affect the ranking order of the SRs because it focuses on subjectivity and lacks objectivity. To address this issue, we present a method for the prioritization of SRs using rough set theory. The applicability of the proposed method is explained using the examination system of an educational institute. Based on our analysis we find that the proposed method captures the exact opinion of the decision makers during the SRP process and no prior information is needed to compute the ranking values of the SRs.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
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.
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.
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.
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]:
The upper approximation of \({i}^{th}\) functional requirement (\({FR}_{i}\)) and jth non-functional requirement can be expressed as:
The boundary regions of the FRs (\(Bound\_{FR}_{i}\)) and NFRs (\(Bound\_{NFR}_{j}\)) can be defined as:
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:
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:
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.
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.
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.
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:
-
•
If (\({U}_{2}\) \(<\) \({U}_{1}\) and \({L}_{2}\) \(>\) \({L}_{1})\) and (if \({M}_{1}\le {M}_{2})\) then \({RN}_{1}<{RN}_{2}\);
-
•
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.
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.
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:
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:
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:
where \(C\) is a constant.
The relative importance rating (\(RIR\)) of \(FRs\) is calculated as follows. Taking \({FR}_{1}\) and \({NFR}_{1}\) as an example:
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:
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:
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].
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.
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.
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.
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.
References
Dieste O, Juristo N (2011) Systematic review and aggregation of empirical studies on elicitation techniques. IEEE Trans Softw Eng 37(2):283–304. https://doi.org/10.1109/TSE.2010.33
Kavakli E (2002) Goal oriented requirements engineering: a unifying framework. Requir Eng 6:237–251. https://doi.org/10.1007/PL00010362
Chan L-K, Wu M-L (2006) Quality function deployment: a comprehensive review of its concepts and methods. Qual Eng 15(1):23–35. https://doi.org/10.1081/QEN-120006708
Sadiq M, Jain SK (2013) A Fuzzy based approach for requirements prioritization in goal oriented requirements elicitation process. In: 25th International Conference on Software Engineering and Knowledge Engineering, Boston, pp.1–5
Chung L, Nixon BA, Yu E, Mylopoulos J (2000) Non-functional requirements in software engineering. Kluwer Academy Publisher, Boston
Khan S, Mohammad CW, Sadiq M (2018) Generating patterns and sub-patterns of pairwise comparison matrices for the selection of software requirements. In: IEEE International Conference on Advances in Computing, Communication, Control, and Networking, pp. 91–97. https://doi.org/10.1109/ICACCCN.2018.8748860
Davis AM (2003) The art of requirements triage. IEEE Comput 36(3):42–49. https://doi.org/10.1109/MC.2003.1185216
Sadiq M, Jain SK (2015) A fuzzy based approach for the selection of goals in goal oriented requirements elicitation process. Int J Syst Assur Eng Manag 6(2):157–164. https://doi.org/10.1007/s13198-014-0260-3
Finkelstein A, Harman M, Mansouri S, Ren J, Zhang Y (2009) A search based approach to fairness analysis in requirements assignments to aid negotiation, mediation and decision making. Requir Eng 14:231–245. https://doi.org/10.1007/s00766-009-0075-y
Barney S, Aurum A, Wohlin C (2008) A product management challenge: creating software product value through requirements selection. J Syst Arch 54(6):576–593. https://doi.org/10.1016/j.sysarc.2007.12.004
Achimugu P, Selamat A, Ibrahim R, Mahrin MN (2014) A systematic literature review of software requirements prioritization research. Inf Softw Technol 56(6):568–585. https://doi.org/10.1016/j.infsof.2014.02.001
Berander P, Khan KA, Lehtola L (2006) Towards a research framework on requirements prioritization. In: Proceedings of 6th Conference on Software Engineering Research and Practice in Sweden.
Sadiq M, Nazneen S (2019) Elicitation of software testing requirements from the selected set of software’s requirements in GOREP. Int J Comput Syst Eng 5(3):152–160. https://doi.org/10.1504/IJCSYSE.2019.100743
Wang XT, Xiong W (2011) An integrated linguistic-based group decision-making approach for quality function deployment. Experts Syst Appl 38(12):14428–14438. https://doi.org/10.1016/j.eswa.2011.04.103
Zadeh LA (1999) Fuzzy sets as a basis for a theory of possibility. Fuzzy Set Syst 100(1):9–34. https://doi.org/10.1016/S0165-0114(99)80004-9
Zadeh LA (1965) Fuzzy sets. Inf Control 8(3):338–353. https://doi.org/10.1016/S0019-9958(65)90241-X
Lee C, Lee H, Seol H, Park Y (2012) Evaluation of new concepts using rough set theory and group analytic hierarchy process. Expert Syst Appl 39(3):3404–3412. https://doi.org/10.1016/j.eswa.2011.09.028
Hujainah F, Bakar RBA, Abdulgabber MA, Zamli KZ (2019) Software requirements prioritization: a systematic literature review on significance, stakeholders, techniques and challenges. IEEE Access 6:71497–71523. https://doi.org/10.1109/ACCESS.2018.2881755
Zhu GN, Hu J, Qi J, Gu C-C, Peng Y-H (2015) An integrated AHP and VIKOR for design concept evaluation based on rough number. Adv Eng Inform 29(3):408–418. https://doi.org/10.1016/j.aei.2015.01.010
Runeson P, Host M, Rainer AW, Regnell B (2012) Case study research in software engineering in Guidelines and examples. Hoboken, NJ: Wiley 2012:1–237
Sadiq M, Jain SK (2014) Applying fuzzy preference relation for requirements prioritization in goal oriented requirements elicitation process. Int J Syst Assur Eng and Manag 5(4):711–723. https://doi.org/10.1007/s13198-014-0236-3
Karlsson J, Wohlin C, Regnell B (1998) An evaluation of methods for prioritizing software requirements. Inf Softw Technol 39(14–15):939–947. https://doi.org/10.1016/S0950-5849(97)00053-0
Bukhsh FA, Bukhsh ZA, Daneva M (2020) A systematic literature review on requirement prioritization techniques and their empirical evaluation. Comput Standards Interfacing. https://doi.org/10.1016/j.csi.2019.103389
Pitangueira AM, Maciel RSP, Barros M (2015) Software requirements selection and prioritization using SBSE approaches: a systematic review and mapping of literature. J Syst Softw 103:267–280. https://doi.org/10.1016/j.jss.2014.09.038
Perini A, Ricca F, Susi A (2009) Tool-supported requirements prioritization: comparing the AHP and CBRank methods. Inf Softw Technol 51(6):1021–1032. https://doi.org/10.1016/j.infsof.2008.12.001
Tonella P, Susi A, Palma F (2013) Interactive requirements prioritization using a genetic algorithm. Inf Softw Technol 55(1):173–187. https://doi.org/10.1016/j.infsof.2012.07.003
Kakar AK (2015) Investigating the penalty reward calculus of software users and its impact on requirements prioritization. Inf Softw Technol 65:56–68. https://doi.org/10.1016/j.infsof.2015.04.004
Babar MI, Ghazali M, Jawawi DNA, Shamsuddin SM, Ibrahim N (2015) PHandler: an expert system for a scalable software requirements prioritization process. Knowledge Based Syst 84:179–202. https://doi.org/10.1016/j.knosys.2015.04.010
Achimugu P, Selamat A, Ibrahim R (2014) A web-based multi-criteria decision making tool for software requirements prioritization. In: Hwang D, Jung JJ, Nguyen NT. (eds). Computational Collective Intelligence. Technologies and Applications. ICCCI 2014. Lecture Notes in Computer Science, Springer Cham, pp. 444–453. https://doi.org/10.1007/978-3-319-11289-3_45
Achimugu P, Selamat A, Ibrahim R, Mahrin MN (2014) An adaptive fuzzy decision matrix model for software requirements prioritization. In: Sobecki J, Boonjing V, Chittayasothorn S (eds) Advanced approaches to intelligent information and database systems. Studies in computational intelligence. Springer, Cham, pp 129–138. https://doi.org/10.1007/978-3-319-05503-9_13
Achimugu P, Selamat A, Ibrahim R (2014) A clustering based technique for large scale prioritization during requirements elicitation. In: Herawan T, Ghazali R, Deris M (eds) Recent advances on soft computing and data mining. Advances in intelligent systems and computing. Springer, Cham, pp 623–632. https://doi.org/10.1007/978-3-319-07692-8_59
Chen Y-H, Wang T-C, Wu C-Y (2011) Multi-criteria decision making with fuzzy linguistic preference relations. Appl Math Modeling 35:1322–1330. https://doi.org/10.1016/j.apm.2010.09.009
Herrera F, Herrera-Viedma E (2000) Linguistic decision analysis: steps for solving decision problems under linguistic information. Fuzzy Sets Systems 115(1):67–82. https://doi.org/10.1016/S0165-0114(99)00024-X
Sadiq M (2017) A fuzzy-set based approach for the prioritization of stakeholders on the basis of the importance of software requirements. IETE J Res 63(5):616–629. https://doi.org/10.1080/03772063.2017.1313140
Zhu MX, Luo X-X, Chen XH, Wu DD (2012) A non-functional requirements trade off model in trustworthy software. Inf Sci 191:61–75. https://doi.org/10.1016/j.ins.2011.07.046
Mishra N, Khanum MA, Agrawal K (2016) Approach to prioritize the requirements using fuzzy logic. In: ACEIT Conference Proceedings, pp. S42-S47
Ejnioui A, Otero CE, Qureshi AA (2012) Software requirement prioritization using fuzzy multi-attribute decision making. In: IEEE International Conference on Open Systems, pp. 1–6, 2012. https://doi.org/10.1109/ICOS.2012.6417646
Momeni H, Motameni H, Larimi M (2014) A neuro fuzzy based approach to software quality requirements prioritization. Int J Appl Info Syst 7(7):15–20
Mougouei D, Powers DMW, Mougouei E (2019) A fuzzy framework for prioritization and partial selection of security requirements in software projects. J Intell Fuzzy Syst 37(2):2671–2686. https://doi.org/10.3233/JIFS-182907
Lima DC, Freitas F, Campos G, Souza J (2011) A Fuzzy Approach to Requirements Prioritization. In: Cohen MB, Ó Cinnéide M. (eds). Search Based Software Engineering. SSBSE 2011. Lecture Notes in Computer Science, Springer, Berlin, Heidelberg, pp. 64–69. https://doi.org/10.1007/978-3-642-23716-4_8
Achimugu P, Selamat A, Ibrahim R (2015) Using the fuzzy multi-criteria decision making approach for requirements prioritization. J Teknologi 2(3):21–25
Singh YV, Kumar B, Chand S (2018) A novel approach for requirements prioritization using logarithmic fuzzy trapezoidal AHP for enhancing academic library service. In: IEEE International Conference on Advances in Computing, Communication, Control, and Networking, pp. 1164–1172. https://doi.org/10.1109/ICACCCN.2018.8748329
Bajaj P, Arora V (2013) Multi-person decision making for requirements prioritization using fuzzy AHP. ACM SIGSOFT Softw Eng Notes 38(5):1–6. https://doi.org/10.1145/2507288.2507302
Sadiq M, Afrin A (2017) An integrated approach for the selection of software requirements using fuzzy AHP and fuzzy TOPSIS Method. In: IEEE International Conference on Intelligent Computing, Instrumentation, and Control Technology, pp. 1094–1100. https://doi.org/10.1109/ICICICT1.2017.8342722
Achimugu P, Selamat A, Ibrahim R (2014) Applying fuzzy TOPSIS algorithm in prioritizing software requirements. Frontiers in Artificial Intelligence and Applications, Vol. 265, New Trends in Software Methodologies, Tools, and Techniques, pp. 659–671. https://doi.org/10.3233/978-1-61499-434-3-659
Ahmad KS, Ahmad N, Tahir H, Khan S (2017) Fuzzy MoSCoW: a fuzzy based MoSCoW method for the prioritization of the software requirements. In: IEEE International Conference on Intelligent Computing, Instrumentation, and Control Technologies, pp. 433–437. https://doi.org/10.1109/ICICICT1.2017.8342602
Jawale BB, Patnaik GK, Bhola AT (2017) Requirements prioritization using adaptive fuzzy hierarchical cumulative voting. In: IEEE 7th International Advance Computing Conference, pp. 95–102. https://doi.org/10.1109/IACC.2017.0034
Gaur V, Soni A (2010) An integrated approach to prioritize requirements using fuzzy decision making. IACSIT Int J Eng Technol 2(4):320–328
Ejnioui A, Otero CE, Otero LD (2012) A simulation-based fuzzy multi-attribute decision making for prioritizing software requirements. In: Proceedings of the First Annual Conference on Research in Information Technology, ACM Digital Library, pp. 37–42. https://doi.org/10.1145/2380790.2380800
Mohammad CW, Shahid M, Hussain SZ (2018) Fuzzy attributed goal oriented software requirements analysis with multiple stakeholders. Int J Inf Technol. https://doi.org/10.1007/s41870-017-0073-0
Barbosa PAM, Pinheiro PR, Silveira FRV, Filho MH (2019) Selection and prioritization of software requirements applying verbal decision analysis. CompLex. https://doi.org/10.1155/2019/2306213
Asif SA, Masud Z, Easmin R, Gias AU (2017) SAFFRON: a semi-automated framework for software requirements prioritization. Int J Adv Comput Sci Appl 8(12):491–499. https://doi.org/10.14569/IJACSA.2017.081265
Dabbagh M, Lee SP (2015) An approach for prioritizing NFRs according to their relationship with FRs. Lecture Notes Softw Eng 3(1):1–5
Hujainah F, Baker RBA, Abdulgabber MA (2019) StackQP: a semi-automated stakeholder quantification and prioritization techniques for requirements selection in software system projects. Decis Support Syst 121:94–108. https://doi.org/10.1016/j.dss.2019.04.009
Logue K, McDaid K (2008) Handling uncertainty in agile requirement prioritization and scheduling using statistical simulation. In: Agile Conference, pp. 73–82. https://doi.org/10.1109/Agile.2008.79
Ramzan M, Jaffar MA, Iqbal MA, Anwar S, Shahid AA (2009) Value based fuzzy requirements prioritization and its evaluation framework. In: 4th International Conference on Innovative Computing, Information, and Control, pp. 1464–1468. https://doi.org/10.1109/ICICIC.2009.375
Ramzan M, Jaffar MA, Shahid AA (2011) Value based intelligent requirements prioritization (VIRP): Expert driven fuzzy logic based prioritization technique. Int J Innovat, Comput, Inf, Control 7(3):1017–1038
Pawlak Z (1982) Rough sets. Int J Comput Inf Sci 11(5):341–356. https://doi.org/10.1007/BF01001956
Pawlak Z, Skowron A (2007) Rudiments of rough set. Inf Sci 177(1):3–27. https://doi.org/10.1016/j.ins.2006.06.003
Grzymala-Busse JW (1988) Knowledge acquisition under uncertainty-a rough set approach. J Intell Robot Syst 1:3–16. https://doi.org/10.1007/BF00437317
Krusinska E, Slowinski R, Stefanowski J (1992) Discriminant versus rough set approach to vague data analysis. Appl Stoch Models Data Anal 8(1):43–56. https://doi.org/10.1002/asm.3150080107
Skowron A, Rauszer C (1992) The discernibility matrices and functions in information systems. In: Słowiński R (ed) Intelligent decision support. Theory and decision library (Series D: System Theory Knowledge Engineering and Problem Solving). Springer, Dordrecht, pp 331–362. https://doi.org/10.1007/978-94-015-7975-9_21
Pawlak Z, Grzymala-Busse JW, Slowinski R, Ziarko W (1995) Rough sets. Commun ACM 38(11):89–95. https://doi.org/10.1145/219717.219791
Bryson JM (2004) What to do when stakeholders matter: Stakeholder identification and analysis techniques. Publ Manag Rev 6(1):21–53. https://doi.org/10.1080/14719030410001675722
Ballejos LC, Montagna JM (2008) Method for stakeholder identification in interorganizational environments. Requir Eng 13:281–297. https://doi.org/10.1007/s00766-008-0069-1
Thakurta R (2017) Understanding requirements prioritization artifacts: a systematic mapping. Requir Eng 22:491–526. https://doi.org/10.1007/s00766-016-0253-7
Pacheco C, Garcia I (2012) A systematic literature reviews of stakeholder identification methods in requirements elicitation. J Syst Softw 85(9):2171–2181. https://doi.org/10.1016/j.jss.2012.04.075
Sadiq M, Jain SK (2014) Stakeholder Identification Method in Goal Oriented Requirements Elicitation Process. In: 5th International Workshop on Requirements Prioritization and Communication at 22nd IEEE International Requirements Engineering Conference, pp. 25–33. https://doi.org/10.1109/RePriCo.2014.6895219
Pacheco C, Garcia I (2008) Stakeholder identification methods in software requirements: Empirical findings derived from a systematic review. In: The 3rd International Conference on Software Engineering Advances, pp. 472–477. https://doi.org/10.1109/ICSEA.2008.45
Zhai LY, Khoo LP, Zhong ZW (2008) A rough set enhanced fuzzy approach to quality function deployment. Int J Adv Manuf Technol 37:613–624. https://doi.org/10.1007/s00170-007-0989-9
Zhai LY, Khoo LP, Zhong ZW (2010) Towards a QFD-based expert system: a novel extension to fuzzy QFD methodology using rough set theory. Expert Syst Appl 37(12):8888–8896. https://doi.org/10.1016/j.eswa.2010.06.007
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Sadiq, M., Devi, V.S. A rough-set based approach for the prioritization of software requirements. Int. j. inf. tecnol. 14, 447–457 (2022). https://doi.org/10.1007/s41870-021-00749-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s41870-021-00749-0