Journal of Software Engineering and Applications
Vol.08 No.07(2015), Article ID:58518,13 pages

Alternatives Selection Using GORE Based on Fuzzy Numbers and TOPSIS

Arfan Mansoor, Detlef Streitferdt, Franz-Felix Füßl

Software Architectures and Product Line Group, Ilmenau University of Technology, Ilmenau, Germany


Copyright © 2015 by authors and Scientific Research Publishing Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

Received 28 May 2015; accepted 28 July 2015; published 31 July 2015


Context and Motivation: The notion of goal and goal models is ideal for the alternative systems. Goal models provide us different alternatives during goal oriented requirements engineering. Question/Problem: Once we find different alternatives, we need to evaluate these alternatives to select the best one. Ideas: The selection process consists of two main parts. In first part of the selection process among alternatives, we will use techniques in which we establish some evaluation criteria. The evaluation criteria are based on leaf level goals. Stakeholders are involved to contribute their opinions about the evaluation criteria. The input provided by various stakeholders is then converted into quantifiable numbers using fuzzy triangle numbers. After applying the defuzzification process on fuzzy triangle numbers we get scores (weights) for each criteria. In second part, these scores are used in the selection process to select the best alternative. Contribution: The two steps selection process helps us to select the best alternative among many alternatives. We have described the process and applied it to “cyclecomputer” selection case study.


Decision Making, GORE, TOPSIS, Fuzzy Numbers

1. Introduction

Decision making process is about the selection of best option among all the alternatives. In almost all decision making problems, we have multiple criteria for selection among the alternatives. The problems involving mul- tiple criteria are called Multi Criteria Decision Making (MCDM) problems. Decision making can be challenging because of conflicting stakeholders interests there is the uncertainty and vagueness of selected criteria. There may be different criteria but some are more important than others and tend to dominate the decision [1] . In general fuzzy set theory is adequate to deal with multi criteria problems [2] .

In Goal Oriented Requirements Engineering (GORE), there is a great emphasis on alternative system proposals. Goal refinements help us in finding alternatives and during requirements elaboration process many alternatives are considered. The qualitative and quantitative analysis of these alternatives helps to choose the best one. In alternative selection we have to decide about the best option according to stakeholders needs.

In the context of GORE we need the support and methodology for identifying and managing the criteria for alternative’s selection process. Finding the criteria based on GORE require high level goals to be analyzed till leaf goals are achieved i.e., requirements. These leaf level goals help us in establishing the criteria which are used in the selection process among alternatives. The criteria are based on stakeholders needs and preferences and therefore stakeholders opinions need to be involved in selection process. It helps to identify the importance of requirement according to stakeholders understandings and needs. Based on these criteria we apply qualitative and quantitative reasoning techniques for the selection of alternative system proposals.

The general procedure of selection among alternatives consists of the following steps:

1. Finding acceptance criteria;

2. Involving stakeholders opinions;

3. Finding scores of each criteria;

4. Evaluating alternatives based on accepted criteria scores;

5. Making a selection.

In this paper we consider the case study of selecting one among four alternatives of “cyclecomputer”. We use GORE to explore and establish the acceptance criteria. The acceptance criteria are then prioritized based on the stakeholders interests for determining which of these are more important than others. It serves two purposes: first involving the stakeholders opinions in selection process and second finding the relative importance of these criteria. The output is then given as input to Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) which selects the best alternative among the candidates.

The remainder of this paper is organized in the following sections: next section gives the literature review on topics used in our approach. Section 3 describes the proposed methodology. Section 4 introduces the “cycle- computer” project and gives details of implementing proposed methodology for mentioned project. Section 5 discusses the related work on decision making and alternatives selection in GORE. Finally, last section con- cludes this paper.

2. Literature Review

2.1. GORE Review

The idea of goals emphasizes the understanding of organizational context for a new system [3] . Goal based re- quirements engineering is concerned with the identification of high level goals to be achieved by the system en- visioned, the refinement of such goals, the operationalization of goals into services and constraints and the as- signment of responsibilities for the resulting requirement to agents such as human, devices and programs [4] .

Requirements engineering must address the contextual goals, functionalities to achieve these goals and con- straints restricting how these functions are to be designed and implemented [5] . These goals, functions, and constraints have to be mapped to precise specifications of software behaviours [6] . From the 10th requirement engineering conference, the notion of goal has been explicitly stated in requirements engineering “Requirements Engineering (RE) is the branch of systems engineering concerned with the ‘real-world goals’ for, functions of, and constraints on software-intensive systems. It is also concerned with how these factors are taken into account during the implementation and maintenance of the system, from software specifications and architectures up to final test cases”.

GORE concerns are classified into two major categories i.e., goal analysis and goal evolution. Goal analysis is the process of exploring gathered documents, ranging from information about the organization, (i.e., enterprise goals) to system specific information (i.e., requirement) for the purpose of identifying, organizing and classify- ing goals [7] . Goal evolution concerns how the goals are changed from when they were identified to when they are operationalized. Goal evolution process is further refined into goal refinement and goal elaboration. Because stakeholders change their minds and goals have to be operationalized into requirements the goals and their prior- ities are likely to change. Based on goal refinement and goal elaboration we select the criteria which are used for alternative selection.

2.2. Fuzzy Numbers

Fuzzy numbers have been widely used in engineering disciplines because of their suitability to represent im- precise and vague information. Fuzzy numbers depict the physical world more realistically than single-valued numbers. Among the fuzzy number Triangular Fuzzy Number (TFN) is capable of aggregating the subjective opinions [8] .

A triangular fuzzy number (TFN) is described by a triplet (L, M, H), where M is the modal value, L and H are the left (minimum value) and right (maximum value) boundary respectively. We use TFN to represent stake- holder opinions for criteria which are established through goal models.

2.3. TOPSIS Review

The Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) is a multi criteria decision analysis method. It is used to compare a set of alternatives based on weighted scores of each criterion. In this method two alternatives are hypothesized: positive ideal alternative and negative ideal alternative and then best alternative is selected which is close to the positive ideal solution and farthest from negative ideal alternative [9] . TOPSIS consist of following steps [10] :

1. Constructing a decision matrix;

2. Normalizing the decision matrix;

3. Finding the positive ideal and negative ideal alternatives;

4. Calculating the separation measures for each alternative;

5. Calculating the relative closeness to the ideal alternative.

3. The Proposed Method

First of all we have to explore different alternatives during GORE and for this we use goal models obtained during GORE. AND/OR diagrams which are the essential output artefact of these goal models are used in the exploration phase of alternatives. Once we found different alternatives, we need to evaluate these alternatives to select the best one. The alternatives are compared based on the weighted criteria. The criteria are weighted using fuzzy numbers and stakeholders opinions are taken as input and then converted to fuzzy numbers. By using the fuzzy numbers we can convert the qualitative information of stakeholders into quantitative one. The proposed methodology consist of following steps and is shown in Figure 1.

Figure 1. Proposed methodology.

1. Establishing high level goal(s);

2. Establishing the criteria based on leaf level goals (directly assignable to agents: humans or system agents);

3. Identify relevant stakeholders and take their opinions for above established criteria as inputs;

4. Calculate relative importance of each criterion by applying TFN and defuzzification process;

5. Normalize the scores;

6. Identifying the alternatives;

7. Evaluate alternatives using TOPSIS based on scores of each criteria;

8. Rank alternatives.

4. Case Study

The “cyclecomputer” system is used as case study for our work which is developed in our research group. This system will be attached to a bicycle, will process data from various sensors, and will communicate with a stan- dard PC. A cyclist will be supported while riding the bike, for maintenance issues, for tour preparations, or to enhance the safety using the bike e.g., besides the normal cycling activities one could use the “cyclecomputer” as a medical device which will support people having of health problems. It can be used for professional cyclist or just for entertainment purposes. One of the results of the requirements engineering phase is a goal model [11] .

Step 1 Establishing High level Goals: Though there are many goals related to “cyclecomputer” but for space and simplicity considerations we take following identified goals for high level “cyclecomputer” goal:

Achieve [Entertainment Service Satisfied], Achieve [Compition Service Satisfied],

Achieve[Training Service Satisfied], Achieve[Tour Management Service Satisfied].

Step 2 Refine Goals to Leaf Levels (establish criterion for each goal): The above mentioned goals are refined using GORE until they are assignable to agents i.e., human agents or software agents. These leaf levels goals are used as criteria for alternative selection. Quality goals which include non-functional requirements and often serve selection criteria are also refined using GORE. The goals along with their subgoals and short description are presented in Table 1. It is only partial description of “cyclecomputer” goals.

Step 3(a) Identifying Stakeholders: Though there are number of stakeholders in “cyclecomputer” but the relavant stkeholders for our goals described in Table 1 are shown in Figure 2.

1. Medical Cyclist: People who need a defined training/exercise due to any disease e.g., a heart disease. Medical cyclist can use pulse measurement, blood pressure, calory consumption by “cyclecomputer” device.

2. Doctor (medical): The doctor will cooperate with a patient to set-up the correct training cycles. The cycles are dependant on the patients constitution.

3. Touring Cyclist: People who like to ride the bicycle for long trips (>100 km) and they need specific services for their tours. The trips might take more than one day.

Figure 2. Relevant stakeholders.

Table 1. Partial goal subgoal description.

4. Trainer (sports): Create training plans, follow training plans, analyse the cyclist.

Step 3(b) Stakeholders Opinions Accumulation: We take three stakeholders, professional cyclist(SH1), fun cyclist (SH2), health and fitness cyclist (SH3). These stakeholders are asked to give their judgements against each criterion in Table 1. Their judgements are used to elicit the importance degree of each criterion. To enhance the user-friendliness for interacting with stakeholders ordinal scale is used. The scale values are same as given in [8] . In next step the ordinal scale values are converted to actual numerical numbers to apply TFN. Table 2 shows the ordinal scale and their respective actual numerical values while Table 3 shows stakeholders ordinal scale and numerical values against criteria identified in Table 1.

Step 4(a) Calculate the Relative Importance Using TFN: The different importance degrees of each criterion assigned by stakeholders is calculated using TFN. TFN is used to aggregate the subjective opinions of a stakeholder using fuzzy set theory. The TFN is represented by triplet (L, M, H) L being the smallest value, H being the largest value and M represents the geometric mean.


Step 4(b) Apply Defuzzification Process on TFN: After calculating TFN for each criterion we apply

Table 2. Ordinal scales and their numerical values.

Table 3. Stakeholder judgements according to ordinal scales and their numerical values.

defuzzification process. Defzzuification process is used to convert calculated TFN values into quantifiable values. Defuzzificatio process is represented by the Equation (2) which is derived from [12] :


where representing triangular fuzzy number. The developer is involved in the process by repre- senting his preference. in the above equation represents the preference value of developer and it’s value is in the range [0,1]. When it shows the optimistic view of developer resulting in the Equation (3):


When it shows the pessimistic view of developer resulting in the Equation (4):


where represents the left end value of TFNi i.e., pessimistic value while represents the right end value of TFNi i.e., optimistic value and are represented by the Equations (5) and (6) respectively:


Equation (5) represents left end boundary value:


Equation (6) represents right end boundary value.

in the above equations represents the risks tolerance for particular criterion and it’s value is in the range [0,1]. To keeps things simple we have chosen value 0.5 of preference and risk against each TFN calculated.

If we take only preference value and ignore the risk tolerance, defuzzification value can be calculated using the Equations (7) or (8):



Step 5 Normalizing Values Obtained by Defuzzification Process: After defuzzification process the values are normalized by using the Equation (9):


where “m” represents number of criteria.

Table 4 represents TFN, defuzzification and final normalized defuzzification values that give the importance of degrees of each criterion. The defuzzification normalized values give the prioritized list of criteria which is used in TOPSIS to evaluated alternatives.

Step 6 Cyclecomputer Alternatives: We selected four alternatives for evaluation: CM213C, CM404, HAC4Pro, Germin Edge 305. The preliminary analysis results of these selected alternatives are given in Appendix.

Table 4. TFN, Defuzzification and normalized scores.

Step 7 Evaluate Alternatives Using TOPSIS

Step 7(a) Constructing Decision Matrix: For “m” number of alternatives and “n” number of criteria we construct a m * n matrix. Values in the matrix are entered according to Table 5. For four alternatives we ran- domly selected four criteria along with their scores from Table 4 and a decision matrix is constructed.

Step 7(b) Normalizing Decision Matrix and Constructing Weighted Normalize Decision Matrix: The decision matrix is normalized according to Equation (10):


and then multiplied with each criterion score to get the weighted normalized decision matrix. Figure 3 shows the resultant matrices.

Step 7(c) Determine the Positive Ideal and Negative Ideal Alternatives: Positive ideal and negative ideal alternatives are determined using the Equations (11) and (12) respectively:


positive ideal alternative: (0.04, 0.05, 0.03, 0.02)


negative ideal alternative: (0.01, 0.01, 0.01, 0.01)

Step 7(d) Calculating the Separation Measures: separation measures for both positive and negative ideal alternatives are measured using Equations (13) and (14):



Figure 4 shows results for separation measure for positive ideal alternative and Figure 5 shows results for negative ideal alternative.

(a) (b) (c)

Figure 3. Decision matrices. (a) decision matrix; (b) normalized decision matrix; (c) weighted normalized decision matrix.

Figure 4. Separation measure for positive ideal alternative.

Table 5. Alternative fulfilling criteria scores.

Figure 5. Separation measure for negative ideal alternative.

Step 7(e) Calculating Closeness to Ideal Solution: the relative closeness to the ideal solution is calculated using the Equation (15):


Step 7(f) Ranking and Selecting: Finally the ranking is done and the alternative closet to 1 is selected as the best alternative. Figure 6 gives results for our selected alternatives and alternative A2 is selected as an ideal solution.

5. Discussions

Alternatives selection is ongoing research in the area of GORE. On the other hand methods like AHP [13] , TOPSIS [14] , Fuzzy AHP, Fuzzy TOPSIS [1] and VIKOR are used in classical Multi-Criteria Decision Making (MCDM) problems. Multi-criteria decision making (MCDM) has been widely used in selecting or ranking deci- sion alternatives characterized by multiple and usually conflicting criteria [15] . The approach of these methods is useful for alternatives selection and stakeholders involvement in GORE.

[16] also emphasises the importance of decision support in GORE but it differs from our work as it uses Ana- lytic Hierarchy Process (AHP) for prioritization and it deals with only soft goals. AHP [13] involves pair-wise comparison. All pair of requirements is compared to determine the priority level of one requirement over another requirement. Requirements are arranged in matrix form, that is, rows and columns. Then priority is specified to each pair of requirements by assigning a preference value between 1 and 9, where 1 expresses equal value while 9 indicates extreme value. After that, AHP converts these scales to numerical values and a numerical priority is derived for each requirement. AHP is more suitable for small number of stakeholders and if alternatives are increased to seven are more it becomes difficult to handle them with AHP because it involves pair- wise comparison. In contrast our method involves stakeholders opinions and take into consideration both func- tional and non-functional requirements. In our method importance of criteria is evaluated using fuzzy set con- cepts, weight for each criterion is calculated based on stakeholder opinions. When a new criterion is added it is easy to extend, we don’t need to change the previous calculations because newly added criterion is independent from others. These weights are then used in TOPSIS avoiding the cumbersome pair-wise comparisons of AHP.

[17] [1] use qualitative approaches for choosing the best alternative. They use temporal logic and label prop- agation algorithm. Our method differs from them by using quantitative approach for evaluating the alternatives. [8] deals with prioritizing software requirements, it considers prioritization of both functional and non-func- tional requirements at same level. This method produces two separate prioritized lists of functional and non- functional requirements. Like our approach their work also used the concepts from [9] but their work is only used for prioritization of functional and non-functional requirement while in our work the scores obtained after prioritization are used as an input to TOPSIS method for evaluation of alternatives.

Wiegers [18] method is semi-quatitative method which focused on customer involvement. Requirements are prioritized based on four criteria defined as benefit, penalty, cost, and risk. The attributes (criteria) are assessed on a scale from 1 (minimum) to 9 (maximum). The customer determines the benefit and penalty values whereas the developers provide the cost and risk values associated with each requirement. Then, by using a formula, the relative importance value of each requirement is calculated by dividing the value of a requirement by the sum of the costs and technical risks associated with its implementation.

AGORA [17] is another quantitative approach for alternatives extending the goal oriented requirements analy- sis but the focus of AGORA is on requirements elicitation. The method focuses on alternative among subgoals, that is, selection of subgoal among many subgoals of same parent. Furthermore AGORA attaches a matrix called preference matrix to nodes of goal graph. It is suitable if number of stakeholders is small in number.

Figure 6. Relative closeness to ideal solution.

When stakeholders are more (plus four) and have to select among many alternatives, this method becomes dif- ficult to handle and goal graph becomes cumbersome.

We used the Fuzzy set concepts to evaluate the importance of criteria for each goal. Weight for each criterion is calculated based on stakeholder opinions. These weights display stakeholder priorities for all requirements. The interaction of stakeholders at early phase of requirements engineering helps to capture the rational (by docu- menting the preferences) for the decisions and to identify inconsistencies at the early phase of requirements en- gineering. The method gives a systematic structure to calculate the fuzzy weight of each criterion. The subject- tive weights assigned by stakeholders are normalized into a comparable scale. The performance measures of all alternatives on criteria are visualized using TOPSIS which accounts for both the best and worst alternatives si- multaneously.

6. Conclusions

In this paper an approach is presented to use the goal model of goal-oriented requirements engineering to es- tablish the acceptance criteria. After that we apply the TFN and defuzzification process to get scores for each criterion. In the final step TOPSIS method is used to evaluate the alternatives and for selection of the best alter- natives. TOPSIS method uses the score obtained by TFN and defuzzification process. The proposed methodol- ogy can be used against both the functional and non-functional requirements.

The methodology is explained by “cyclecomputer” case study where we establish 16 acceptance criteria and stakeholders opinions are collected for these criteria. After calculating the score of each criterion we take four criteria (for space considerations) and based on these evaluated four alternatives. This approach is promis- ing for ranking the criteria and using this ranking for alternative selection because we take the stakeholders opi- nions and most importantly developers’ considerations for preference and risk tolerance into account. The formalization of the approach, its full integration into goal oriented requirements engineering and the validation by additional examples are future research topics.


We acknowledge support for the Article Processing Charge by the German Research Foundation and the Open Access Publication Fund of the Technische Universit Ilmenau.

Cite this paper

ArfanMansoor,DetlefStreitferdt,Franz-FelixFüßl, (2015) Alternatives Selection Using GORE Based on Fuzzy Numbers and TOPSIS. Journal of Software Engineering and Applications,08,346-359. doi: 10.4236/jsea.2015.87035


  1. 1. Erturul, R. and Karakaolu, N. (2008) Comparison of Fuzzy Ahp and Fuzzy Topsis Methods for Facility Location Selection. The International Journal of Advanced Manufacturing Technology, 39, 783-795.

  2. 2. Chen, C.-T. (2000) Extensions of the Topsis for Group Decision-Making under Fuzzy Environment. Fuzzy Sets and Systems, 114, 1-9.

  3. 3. Lapouchnian, A. (2005) Goal-Oriented Requirement Engineering. An Overview of the Current Res-earch, Technical Report, University of Toronto, Toronto.

  4. 4. Darimont, R. and van Lamsweerde, A. (1996) Formal Refinement Patterns for Goal-Driven Requir-ements Elaboration. Proceedings of the 4th ACM Symposium on the Foundation of Software Eng-ineering, San Francisco, October 1996, 179-190.

  5. 5. van Lamsweerde, A. (2000) Requirements Engineering in the Year 00: A Research Perspective. Proceedings of the 2000 International Conference on Software Engineering, Limerick, 4-11 June 2000, 5-19.

  6. 6. Zave, P. (1997) Classi Cation of Research Eorts in Requirements Engineering. ACM Computing Surveys, 29, 315-321.

  7. 7. Anton, A.I. (1996) Goal-Based Requirements Analysis. Proceedings of the 2nd International Conference on Requirements Engineering, Colorado Springs, 15-18 April 1996, 136-144.

  8. 8. Mohammad Dabbagh, S.P.L. (2014) An Approach for Integrating the Prioritization of Functional and Nonfunctional Requirements. The Scientic World Journal, 2014, Article ID: 737626.

  9. 9. Goli, D. (2013) Group Fuzzy Topsis Methodology in Computer Security Software Selection. International Journal of Fuzzy Logic Systems, 3, 29.

  10. 10. Olson, D.L. (2004) Comparison of Weights in Topsis Models. Mathematical and Computer Modelling, 40, 721-727.

  11. 11. Mansoor, A. and Streitferdt, D. (2011) On the Impact of Goals on Long-Living Systems. Workshop: Evolutionäre Software-und Systementwicklung-Methoden und Erfahrungen, Karlsruhe, February 2011, 133-138.

  12. 12. Liou, T.-S. and Wang, M.-J. (1992) Ranking Fuzzy Numbers with Integral Value. Fuzzy Sets and Systems, 50, 247- 255.

  13. 13. Saaty, T.L. (2008) Decision Making with the Analytic Hierarchy Process. International Journal of Services Sciences, 1, 83-98.

  14. 14. Wang, T.-C. and Lee, H.-D. (2009) Developing a Fuzzy Topsis Approach Based on Subjective Weights and Objective Weights. Expert Systems with Applications, 36, 8980-8985.

  15. 15. Vinay, S., Aithal, S. and Sudhakara, G. (2012) Integrating Topsis and Ahp into Gore Decision Support System. International Journal of Computer Applications, 56, 46-53.

  16. 16. Castro, J., Kolp, M. and Mylopoulos, J. (2002) Towards Requirements-Driven Information Systems Engineering: The Tropos Project. Information Systems, 27, 365-389.

  17. 17. Wiegers, K. (1999) First Things First: Prioritizing Requirements. Software Development Online, 7, 48-53.

  18. 18. Kaiya, H., Horai, H. and Saeki, M. (2002) Agora: Attributed Goal-Oriented Requirements Analysis Method. IEEE Joint International Conference on Requirements Engineering, Essen, 2002, 13-22.


Table 6. Comparison of cyclecomputers.