<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JSEA</journal-id><journal-title-group><journal-title>Journal of Software Engineering and Applications</journal-title></journal-title-group><issn pub-type="epub">1945-3116</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jsea.2015.87035</article-id><article-id pub-id-type="publisher-id">JSEA-58518</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Alternatives Selection Using GORE Based on Fuzzy Numbers and TOPSIS
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>rfan</surname><given-names>Mansoor</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Detlef</surname><given-names>Streitferdt</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Franz-Felix</surname><given-names>Füßl</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Software Architectures and Product Line Group, Ilmenau University of Technology, Ilmenau, Germany</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>arfan.mansoor@tu-ilmenau.de(RM)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>15</day><month>07</month><year>2015</year></pub-date><volume>08</volume><issue>07</issue><fpage>346</fpage><lpage>359</lpage><history><date date-type="received"><day>28</day>	<month>May</month>	<year>2015</year></date><date date-type="rev-recd"><day>accepted</day>	<month>28</month>	<year>July</year>	</date><date date-type="accepted"><day>31</day>	<month>July</month>	<year>2015</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  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.
 
</p></abstract><kwd-group><kwd>Decision Making</kwd><kwd> GORE</kwd><kwd> TOPSIS</kwd><kwd> Fuzzy Numbers</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>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 [<xref ref-type="bibr" rid="scirp.58518-ref1">1</xref>] . In general fuzzy set theory is adequate to deal with multi criteria problems [<xref ref-type="bibr" rid="scirp.58518-ref2">2</xref>] .</p><p>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.</p><p>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.</p><p>The general procedure of selection among alternatives consists of the following steps:</p><p>1. Finding acceptance criteria;</p><p>2. Involving stakeholders opinions;</p><p>3. Finding scores of each criteria;</p><p>4. Evaluating alternatives based on accepted criteria scores;</p><p>5. Making a selection.</p><p>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.</p><p>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.</p></sec><sec id="s2"><title>2. Literature Review</title><sec id="s2_1"><title>2.1. GORE Review</title><p>The idea of goals emphasizes the understanding of organizational context for a new system [<xref ref-type="bibr" rid="scirp.58518-ref3">3</xref>] . 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 [<xref ref-type="bibr" rid="scirp.58518-ref4">4</xref>] .</p><p>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 [<xref ref-type="bibr" rid="scirp.58518-ref5">5</xref>] . These goals, functions, and constraints have to be mapped to precise specifications of software behaviours [<xref ref-type="bibr" rid="scirp.58518-ref6">6</xref>] . 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”.</p><p>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 [<xref ref-type="bibr" rid="scirp.58518-ref7">7</xref>] . 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.</p></sec><sec id="s2_2"><title>2.2. Fuzzy Numbers</title><p>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 [<xref ref-type="bibr" rid="scirp.58518-ref8">8</xref>] .</p><p>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.</p></sec><sec id="s2_3"><title>2.3. TOPSIS Review</title><p>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 [<xref ref-type="bibr" rid="scirp.58518-ref9">9</xref>] . TOPSIS consist of following steps [<xref ref-type="bibr" rid="scirp.58518-ref10">10</xref>] :</p><p>1. Constructing a decision matrix;</p><p>2. Normalizing the decision matrix;</p><p>3. Finding the positive ideal and negative ideal alternatives;</p><p>4. Calculating the separation measures for each alternative;</p><p>5. Calculating the relative closeness to the ideal alternative.</p></sec></sec><sec id="s3"><title>3. The Proposed Method</title><p>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 <xref ref-type="fig" rid="fig1">Figure 1</xref>.</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Proposed methodology</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/5-9302074x5.png"/></fig><p>1. Establishing high level goal(s);</p><p>2. Establishing the criteria based on leaf level goals (directly assignable to agents: humans or system agents);</p><p>3. Identify relevant stakeholders and take their opinions for above established criteria as inputs;</p><p>4. Calculate relative importance of each criterion by applying TFN and defuzzification process;</p><p>5. Normalize the scores;</p><p>6. Identifying the alternatives;</p><p>7. Evaluate alternatives using TOPSIS based on scores of each criteria;</p><p>8. Rank alternatives.</p></sec><sec id="s4"><title>4. Case Study</title><p>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 [<xref ref-type="bibr" rid="scirp.58518-ref11">11</xref>] .</p><p>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:</p><p>Achieve [Entertainment Service Satisfied], Achieve [Compition Service Satisfied],</p><p>Achieve[Training Service Satisfied], Achieve[Tour Management Service Satisfied].</p><p>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 <xref ref-type="table" rid="table1">Table 1</xref>. It is only partial description of “cyclecomputer” goals.</p><p>Step 3(a) Identifying Stakeholders: Though there are number of stakeholders in “cyclecomputer” but the relavant stkeholders for our goals described in <xref ref-type="table" rid="table1">Table 1</xref> are shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>.</p><p>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.</p><p>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.</p><p>3. Touring Cyclist: People who like to ride the bicycle for long trips (&gt;100 km) and they need specific services for their tours. The trips might take more than one day.</p><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Relevant stakeholders</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/5-9302074x6.png"/></fig><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Partial goal subgoal description</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Goals</th><th align="center" valign="middle" >Sub goals till leaf level goals</th><th align="center" valign="middle" >Description</th></tr></thead><tr><td align="center" valign="middle"  rowspan="3"  >Entertainment Service Satisfied</td><td align="center" valign="middle" >Mic</td><td align="center" valign="middle" >The cycle computer should support Mic service.</td></tr><tr><td align="center" valign="middle" >Data storage</td><td align="center" valign="middle" >The cycle computer should support data storage for fun services.</td></tr><tr><td align="center" valign="middle" >Audio service</td><td align="center" valign="middle" >The cycle computer should record and play audio data.</td></tr><tr><td align="center" valign="middle"  rowspan="4"  >Competition Service Satisfied</td><td align="center" valign="middle" >User accounts</td><td align="center" valign="middle" > The cycle computer should have a user management i.e., Many cyclists should be able to use the same physical device.  User specific data needs to be password protected</td></tr><tr><td align="center" valign="middle" >Transferable to web</td><td align="center" valign="middle" >Track data should be transferred to a Web-portal to enable online competition/comparison.</td></tr><tr><td align="center" valign="middle" >Online modus</td><td align="center" valign="middle" >The competition mode should be used “online” (while riding the bike).</td></tr><tr><td align="center" valign="middle" >Offline modus</td><td align="center" valign="middle" >The competition mode should be used offline</td></tr><tr><td align="center" valign="middle"  rowspan="4"  >Training Service Satisfied</td><td align="center" valign="middle" >Initial checkups</td><td align="center" valign="middle" >The cycle computer should offer an initial check-up to assess the drivers capabilities.</td></tr><tr><td align="center" valign="middle" >Technical riding capabilities</td><td align="center" valign="middle" > Frame quality level should be analyzable and visible i.e., show the condition of the frame, interpret the frame condition by a coloured icon.  The quality level should be visualized by the time until the frame might break.  The cyclist should see the current speed of the cycle.  The cyclist should be informed when the oil in the shocks should be changed</td></tr><tr><td align="center" valign="middle" >Fitness level</td><td align="center" valign="middle" > The cycle computer should analyze the cyclist.  The cyclist should be informed about his heart beat.</td></tr><tr><td align="center" valign="middle" >Calories consumption</td><td align="center" valign="middle" >The calorie consumption should be shown e.g., current calorie consumption, calorie consumption per tour, the calorie consumption for a specified time frame</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Tour Management Service Satisfied</td><td align="center" valign="middle" >Route planning</td><td align="center" valign="middle" > The cycle computer should offer route planning.  The planning should be done based on topographic maps.  Routing should consider the current weather forecast</td></tr><tr><td align="center" valign="middle" >Weather info</td><td align="center" valign="middle" > The cyclist should see the current environmental temperature.  The temperature of the last 5 days should be analyzable.</td></tr><tr><td align="center" valign="middle" >Tour details</td><td align="center" valign="middle" > The cycle computer should provide complete details of the tours  The cyclist should be informed about the current height (above sea level). A cumulative value should be shown by ascended and descended meters.</td></tr><tr><td align="center" valign="middle" >Navigation</td><td align="center" valign="middle" >The cyclist should be able to navigate to a given location. The location could be a point of interest, e.g., a hotel. The cyclist should be informed about his global position on a map.</td></tr><tr><td align="center" valign="middle" >Trip suggestions</td><td align="center" valign="middle" >The cycle computer should offer trip tips for professional sports cyclists e.g., gear change tips, speed tips based on the (known) route.</td></tr></tbody></table></table-wrap><p>4. Trainer (sports): Create training plans, follow training plans, analyse the cyclist.</p><p>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 <xref ref-type="table" rid="table1">Table 1</xref>. 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 [<xref ref-type="bibr" rid="scirp.58518-ref8">8</xref>] . In next step the ordinal scale values are converted to actual numerical numbers to apply TFN. <xref ref-type="table" rid="table2">Table 2</xref> shows the ordinal scale and their respective actual numerical values while <xref ref-type="table" rid="table3">Table 3</xref> shows stakeholders ordinal scale and numerical values against criteria identified in <xref ref-type="table" rid="table1">Table 1</xref>.</p><p>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.</p><disp-formula id="scirp.58518-formula736"><label>(1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x7.png"  xlink:type="simple"/></disp-formula><p>Step 4(b) Apply Defuzzification Process on TFN: After calculating TFN for each criterion we apply</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Ordinal scales and their numerical values</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Ordinal scale</th><th align="center" valign="middle" >Actual numbers</th></tr></thead><tr><td align="center" valign="middle" >Very high importance (VHI)</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >High importance (HI)</td><td align="center" valign="middle" >0.75</td></tr><tr><td align="center" valign="middle" >Low importance (LI)</td><td align="center" valign="middle" >0.5</td></tr><tr><td align="center" valign="middle" >Very low importance (VLI)</td><td align="center" valign="middle" >0.25</td></tr><tr><td align="center" valign="middle" >No importance (NI)</td><td align="center" valign="middle" >0.001</td></tr></tbody></table></table-wrap><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Stakeholder judgements according to ordinal scales and their numerical values</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  >Goals</th><th align="center" valign="middle"  rowspan="2"  >Sub goals till leaf level goals</th><th align="center" valign="middle"  colspan="3"  >Ordinal scale</th><th align="center" valign="middle"  colspan="3"  >Numerical values</th></tr></thead><tr><td align="center" valign="middle" >SH1</td><td align="center" valign="middle" >SH2</td><td align="center" valign="middle" >SH3</td><td align="center" valign="middle" >SH1</td><td align="center" valign="middle" >SH2</td><td align="center" valign="middle" >SH3</td></tr><tr><td align="center" valign="middle"  rowspan="3"  >Entertainment Service Satisfied</td><td align="center" valign="middle" >Mic</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0.75</td></tr><tr><td align="center" valign="middle" >Data storage</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0.75</td></tr><tr><td align="center" valign="middle" >Audio service</td><td align="center" valign="middle" >LI</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >LI</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0.75</td></tr><tr><td align="center" valign="middle"  rowspan="4"  >Compition Servie Satisifed</td><td align="center" valign="middle" >User accounts</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.75</td></tr><tr><td align="center" valign="middle" >Transferable to web</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.75</td></tr><tr><td align="center" valign="middle" >Online modus</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.75</td></tr><tr><td align="center" valign="middle" >Offline modus</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.75</td></tr><tr><td align="center" valign="middle"  rowspan="4"  >Training Service Satisfied</td><td align="center" valign="middle" >Initial checkups</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >Technical riding capabilities</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >LI</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >Fitness level</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >LI</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >Calories consumption</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >LI</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >0.75</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Tour Management Service Satisfied</td><td align="center" valign="middle" >Route planning</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >LI</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.5</td></tr><tr><td align="center" valign="middle" >Weather info</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.75</td></tr><tr><td align="center" valign="middle" >Tour details</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >LI</td><td align="center" valign="middle" >LI</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >0.5</td></tr><tr><td align="center" valign="middle" >Navigation</td><td align="center" valign="middle" >VH</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.75</td></tr><tr><td align="center" valign="middle" >Trip suggestions</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >VLI</td><td align="center" valign="middle" >H</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.25</td><td align="center" valign="middle" >0.75</td></tr></tbody></table></table-wrap><p>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 [<xref ref-type="bibr" rid="scirp.58518-ref12">12</xref>] :</p><disp-formula id="scirp.58518-formula737"><label>(2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x8.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/5-9302074x9.png" xlink:type="simple"/></inline-formula> representing triangular fuzzy number. The developer is involved in the process by repre- senting his preference. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/5-9302074x10.png" xlink:type="simple"/></inline-formula>in the above equation represents the preference value of developer and it’s value is in the range [0,1]. When <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/5-9302074x11.png" xlink:type="simple"/></inline-formula> it shows the optimistic view of developer resulting in the Equation (3):</p><disp-formula id="scirp.58518-formula738"><label>(3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x12.png"  xlink:type="simple"/></disp-formula><p>When <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/5-9302074x13.png" xlink:type="simple"/></inline-formula> it shows the pessimistic view of developer resulting in the Equation (4):</p><disp-formula id="scirp.58518-formula739"><label>(4)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x14.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/5-9302074x15.png" xlink:type="simple"/></inline-formula> represents the left end value of TFN<sub>i</sub> i.e., pessimistic value while <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/5-9302074x16.png" xlink:type="simple"/></inline-formula> represents the right end value of TFN<sub>i</sub> i.e., optimistic value and are represented by the Equations (5) and (6) respectively:</p><disp-formula id="scirp.58518-formula740"><label>(5)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x17.png"  xlink:type="simple"/></disp-formula><p>Equation (5) represents left end boundary value:</p><disp-formula id="scirp.58518-formula741"><label>(6)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x18.png"  xlink:type="simple"/></disp-formula><p>Equation (6) represents right end boundary value.</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/5-9302074x19.png" xlink:type="simple"/></inline-formula>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.</p><p>If we take only preference value and ignore the risk tolerance, defuzzification value can be calculated using the Equations (7) or (8):</p><disp-formula id="scirp.58518-formula742"><label>(7)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x20.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.58518-formula743"><label>(8)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x21.png"  xlink:type="simple"/></disp-formula><p>Step 5 Normalizing Values Obtained by Defuzzification Process: After defuzzification process the values are normalized by using the Equation (9):</p><disp-formula id="scirp.58518-formula744"><label>(9)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x22.png"  xlink:type="simple"/></disp-formula><p>where “m” represents number of criteria.</p><p><xref ref-type="table" rid="table4">Table 4</xref> 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.</p><p>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.</p><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> TFN, Defuzzification and normalized scores</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Criteria</th><th align="center" valign="middle" >TFN</th><th align="center" valign="middle" >Defuzzification</th><th align="center" valign="middle" >Normalized scores</th></tr></thead><tr><td align="center" valign="middle" >Mic</td><td align="center" valign="middle" >(0.75, 0.825, 1)</td><td align="center" valign="middle" >0.84</td><td align="center" valign="middle" >0.067</td></tr><tr><td align="center" valign="middle" >Data storage</td><td align="center" valign="middle" >(0.75, 0.825, 1)</td><td align="center" valign="middle" >0.84</td><td align="center" valign="middle" >0.067</td></tr><tr><td align="center" valign="middle" >Audio service</td><td align="center" valign="middle" >(0.75, 0.825, 1)</td><td align="center" valign="middle" >0.84</td><td align="center" valign="middle" >0.067</td></tr><tr><td align="center" valign="middle" >User accounts</td><td align="center" valign="middle" >(0.75, 0.825, 1)</td><td align="center" valign="middle" >0.84</td><td align="center" valign="middle" >0.067</td></tr><tr><td align="center" valign="middle" >Transferable to web</td><td align="center" valign="middle" >(0.75, 0.825, 1)</td><td align="center" valign="middle" >0.84</td><td align="center" valign="middle" >0.067</td></tr><tr><td align="center" valign="middle" >Online modus</td><td align="center" valign="middle" >(0.75, 0.825, 1)</td><td align="center" valign="middle" >0.84</td><td align="center" valign="middle" >0.067</td></tr><tr><td align="center" valign="middle" >Offline modus</td><td align="center" valign="middle" >(0.75, 0.825, 1)</td><td align="center" valign="middle" >0.84</td><td align="center" valign="middle" >0.067</td></tr><tr><td align="center" valign="middle" >Initial checkups</td><td align="center" valign="middle" >(0.75, 0.825, 1)</td><td align="center" valign="middle" >0.84</td><td align="center" valign="middle" >0.067</td></tr><tr><td align="center" valign="middle" >Technical riding capabilities</td><td align="center" valign="middle" >(0.5, 0.793, 1)</td><td align="center" valign="middle" >0.771</td><td align="center" valign="middle" >0.062</td></tr><tr><td align="center" valign="middle" >Fitness level</td><td align="center" valign="middle" >(0.5, 0.721, 1)</td><td align="center" valign="middle" >0.735</td><td align="center" valign="middle" >0.059</td></tr><tr><td align="center" valign="middle" >Calories consumption</td><td align="center" valign="middle" >(0.5, 0.655, 0.75)</td><td align="center" valign="middle" >0.639</td><td align="center" valign="middle" >0.051</td></tr><tr><td align="center" valign="middle" >Route planning</td><td align="center" valign="middle" >(0.5, 0.721, 1)</td><td align="center" valign="middle" >0.735</td><td align="center" valign="middle" >0.059</td></tr><tr><td align="center" valign="middle" >Weather info</td><td align="center" valign="middle" >(0.75, 0.75, 0.75)</td><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >0.060</td></tr><tr><td align="center" valign="middle" >Tour details</td><td align="center" valign="middle" >(0.5, 0.572, 0.75)</td><td align="center" valign="middle" >0.598</td><td align="center" valign="middle" >0.048</td></tr><tr><td align="center" valign="middle" >Navigation</td><td align="center" valign="middle" >(0.75, 0.825, 1)</td><td align="center" valign="middle" >0.84</td><td align="center" valign="middle" >0.067</td></tr><tr><td align="center" valign="middle" >Trip suggestions</td><td align="center" valign="middle" >(0.25, 0.520, 1)</td><td align="center" valign="middle" >0.569</td><td align="center" valign="middle" >0.046</td></tr></tbody></table></table-wrap><p>Step 7 Evaluate Alternatives Using TOPSIS</p><p>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 <xref ref-type="table" rid="table5">Table 5</xref>. For four alternatives we ran- domly selected four criteria along with their scores from <xref ref-type="table" rid="table4">Table 4</xref> and a decision matrix is constructed.</p><p>Step 7(b) Normalizing Decision Matrix and Constructing Weighted Normalize Decision Matrix: The decision matrix is normalized according to Equation (10):</p><disp-formula id="scirp.58518-formula745"><label>(10)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x23.png"  xlink:type="simple"/></disp-formula><p>and then multiplied with each criterion score to get the weighted normalized decision matrix. <xref ref-type="fig" rid="fig3">Figure 3</xref> shows the resultant matrices.</p><p>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:</p><disp-formula id="scirp.58518-formula746"><label>(11)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x24.png"  xlink:type="simple"/></disp-formula><p>positive ideal alternative: (0.04, 0.05, 0.03, 0.02)</p><disp-formula id="scirp.58518-formula747"><label>(12)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x25.png"  xlink:type="simple"/></disp-formula><p>negative ideal alternative: (0.01, 0.01, 0.01, 0.01)</p><p>Step 7(d) Calculating the Separation Measures: separation measures for both positive and negative ideal alternatives are measured using Equations (13) and (14):</p><disp-formula id="scirp.58518-formula748"><label>(13)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x26.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.58518-formula749"><label>(14)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x27.png"  xlink:type="simple"/></disp-formula><p><xref ref-type="fig" rid="fig4">Figure 4</xref> shows results for separation measure for positive ideal alternative and <xref ref-type="fig" rid="fig5">Figure 5</xref> shows results for negative ideal alternative.</p><fig-group id="fig3"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Decision matrices. (a) decision matrix; (b) normalized decision matrix; (c) weighted normalized decision matrix.</title></caption><fig id ="fig3_1"><label> (b)</label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/5-9302074x28.png"/></fig></fig-group><fig-group id="fig4"><label><xref ref-type="fig" rid="fig4">Figure 4</xref></label><caption><title> Separation measure for positive ideal alternative.</title></caption><fig id ="fig4_1"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/5-9302074x29.png"/></fig><fig id ="fig4_2"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/5-9302074x30.png"/></fig></fig-group><table-wrap id="table5" ><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> Alternative fulfilling criteria scores</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Alternative fulfilling criterion</th><th align="center" valign="middle" >9</th></tr></thead><tr><td align="center" valign="middle" >Alternative partially fulfilling criterion</td><td align="center" valign="middle" >7</td></tr><tr><td align="center" valign="middle" >Alternative minimally fulfilling criterion</td><td align="center" valign="middle" >3</td></tr><tr><td align="center" valign="middle" >Alternative not fulfilling criterion</td><td align="center" valign="middle" >0.25</td></tr></tbody></table></table-wrap><fig-group id="fig5"><label><xref ref-type="fig" rid="fig5">Figure 5</xref></label><caption><title> Separation measure for negative ideal alternative.</title></caption><fig id ="fig5_1"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/5-9302074x31.png"/></fig><fig id ="fig5_2"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/5-9302074x32.png"/></fig></fig-group><p>Step 7(e) Calculating Closeness to Ideal Solution: the relative closeness to the ideal solution is calculated using the Equation (15):</p><disp-formula id="scirp.58518-formula750"><label>(15)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/5-9302074x33.png"  xlink:type="simple"/></disp-formula><p>Step 7(f) Ranking and Selecting: Finally the ranking is done and the alternative closet to 1 is selected as the best alternative. <xref ref-type="fig" rid="fig6">Figure 6</xref> gives results for our selected alternatives and alternative A2 is selected as an ideal solution.</p></sec><sec id="s5"><title>5. Discussions</title><p>Alternatives selection is ongoing research in the area of GORE. On the other hand methods like AHP [<xref ref-type="bibr" rid="scirp.58518-ref13">13</xref>] , TOPSIS [<xref ref-type="bibr" rid="scirp.58518-ref14">14</xref>] , Fuzzy AHP, Fuzzy TOPSIS [<xref ref-type="bibr" rid="scirp.58518-ref1">1</xref>] 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 [<xref ref-type="bibr" rid="scirp.58518-ref15">15</xref>] . The approach of these methods is useful for alternatives selection and stakeholders involvement in GORE.</p><p>[<xref ref-type="bibr" rid="scirp.58518-ref16">16</xref>] 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 [<xref ref-type="bibr" rid="scirp.58518-ref13">13</xref>] 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.</p><p>[<xref ref-type="bibr" rid="scirp.58518-ref17">17</xref>] [<xref ref-type="bibr" rid="scirp.58518-ref1">1</xref>] 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. [<xref ref-type="bibr" rid="scirp.58518-ref8">8</xref>] 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 [<xref ref-type="bibr" rid="scirp.58518-ref9">9</xref>] 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.</p><p>Wiegers [<xref ref-type="bibr" rid="scirp.58518-ref18">18</xref>] 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.</p><p>AGORA [<xref ref-type="bibr" rid="scirp.58518-ref17">17</xref>] 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.</p><fig id="fig6"  position="float"><label><xref ref-type="fig" rid="fig6">Figure 6</xref></label><caption><title> Relative closeness to ideal solution</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/5-9302074x34.png"/></fig><p>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.</p><p>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.</p></sec><sec id="s6"><title>6. Conclusions</title><p>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.</p><p>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.</p></sec><sec id="s7"><title>Acknowledgements</title><p>We acknowledge support for the Article Processing Charge by the German Research Foundation and the Open Access Publication Fund of the Technische Universit Ilmenau.</p></sec><sec id="s8"><title>Cite this paper</title><p>ArfanMansoor,DetlefStreitferdt,Franz-FelixF&#252;&#223;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</p></sec><sec id="s9"><title>Appendix</title><table-wrap-group id="6"><label><xref ref-type="table" rid="table6">Table 6</xref></label><caption><title> Comparison of cyclecomputers</title></caption><table-wrap id="6_1"><table><tbody><thead><tr><th align="center" valign="middle" >Feature</th><th align="center" valign="middle" >CM213C</th><th align="center" valign="middle" >CM404</th><th align="center" valign="middle" >HAC4Pro</th><th align="center" valign="middle" >Germin Edge 305</th></tr></thead><tr><td align="center" valign="middle" >Price [?</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >70</td><td align="center" valign="middle" >250</td></tr><tr><td align="center" valign="middle" >Speed [Miles]</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td></tr><tr><td align="center" valign="middle" >Speed [KM]</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td></tr><tr><td align="center" valign="middle" >Speed digits [xxx]</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >3</td></tr><tr><td align="center" valign="middle" >Speed digits [xxx]</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >Average speed</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td></tr><tr><td align="center" valign="middle" >Wireless Speed Sensor</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >n/a</td></tr><tr><td align="center" valign="middle" >Daytime AM/PM</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td></tr><tr><td align="center" valign="middle" >Daytime 24h</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td></tr><tr><td align="center" valign="middle" >Date day/month/year</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td></tr><tr><td align="center" valign="middle" >Alarm clock</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Stopwatch</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Tire 1 Size</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td></tr><tr><td align="center" valign="middle" >Tire 2 Size</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td></tr><tr><td align="center" valign="middle" >Sum-up Tire 1 and Tire 2</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Tire Size digits</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Tire Size min [mm]</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >500</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Tire Size max [mm]</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >3000</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Overall distance</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Overall distance digits [xxx,]</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Overall distance digits [,xxx]</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Overall riding time</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Set overall distance</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >Set overall distance</td></tr><tr><td align="center" valign="middle" >Daily distance</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >Daily distance</td></tr><tr><td align="center" valign="middle" >Daily distance digits [xxx]</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >Daily distance digits [xxx]</td></tr><tr><td align="center" valign="middle" >Daily distance digits [xxx]</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >Daily distance digits [xxx]</td></tr><tr><td align="center" valign="middle" >Daily distance reset after [h]</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >Daily distance reset after [h]</td></tr><tr><td align="center" valign="middle" >Daily riding time</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >Daily riding time</td></tr><tr><td align="center" valign="middle" >Distance digits</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >Distance digits</td></tr><tr><td align="center" valign="middle" >Distance [Miles]</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >Distance [Miles]</td></tr><tr><td align="center" valign="middle" >Distance [KM]</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >Distance [KM]</td></tr><tr><td align="center" valign="middle" >Distance backup, battery change</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >Dist backup, battery change</td></tr><tr><td align="center" valign="middle" >Max battery Change time [sec]</td><td align="center" valign="middle" >15</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >Max battery Change time [sec]</td></tr><tr><td align="center" valign="middle" >Low battery warning</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >Low battery warning</td></tr><tr><td align="center" valign="middle" >Battery life [months]</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >10</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Pedal Frequency</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr></tbody></table></table-wrap><table-wrap id="6_2"><table><tbody><thead><tr><th align="center" valign="middle" >Max. Pedal Frequency</th><th align="center" valign="middle" >no</th><th align="center" valign="middle" >no</th><th align="center" valign="middle" >yes</th><th align="center" valign="middle" ></th></tr></thead><tr><td align="center" valign="middle" >Min. Pedal Frequency</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Auto Turn off after [sec]</td><td align="center" valign="middle" >300</td><td align="center" valign="middle" >300</td><td align="center" valign="middle" >300</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Auto Turn on, on tire turn</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Heartbeat Sensor</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >No of Buttons</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Height Sensor</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Height min [m]</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >−200</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Height max [m]</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >9000</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Height in m</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Height in feet</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Daily height</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Daily ascend</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Daily descend</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Set overall height</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Show gradient (up/down)</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Set Gradient min</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >0.0%</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Set Gradient max</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >99.0%</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Show average gradient</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Show max gradient</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Show min gradient</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Varo-meter …</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Current ascend value</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Current descend value</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Max ascend</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Max descend</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Average ascend</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Average descend</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >No of ascends</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >No of descends</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >GPS</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td></tr><tr><td align="center" valign="middle" >Auto Lap</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td></tr><tr><td align="center" valign="middle" >Virtual partner</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td></tr><tr><td align="center" valign="middle" >Temp Sensor</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Temp Celsius</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Temp Fahrenheit</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Max Temp</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Min Temp</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >PC-Connection</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr></tbody></table></table-wrap><table-wrap id="6_3"><table><tbody><thead><tr><th align="center" valign="middle" >PC Analysis SW</th><th align="center" valign="middle" >no</th><th align="center" valign="middle" >no</th><th align="center" valign="middle" >yes</th><th align="center" valign="middle" ></th></tr></thead><tr><td align="center" valign="middle" >Fitness …</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Sex</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Body weight</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Complete weight</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Age</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Set heartbeat 1 min. level</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Set heartbeat 1 max. level</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Set heartbeat 2 min. level</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Set heartbeat 2 max. level</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Ride by heartbeat zone</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Heartbeat alarm (outside zone)</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Check cool down heartbeat</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Time in riding zone</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Time above riding zone</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Time below riding zone</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Fitness level</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Current calorie consumption</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Overall calorie consumption</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Current performance in Watts</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Average performance</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Max. performance</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Compare training sessions</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Countdown timer 1</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Countdown timer 1 max [min: sec]</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >99:59</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Countdown timer 2</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Countdown timer 2 max [min: sec]</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >99:59</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Firmware upgradeable</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Sleep mode</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Ski mode (use device for skiing)</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Backlight</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >no</td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Display size</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >128 &#215; 160 4-level-grayscale</td></tr><tr><td align="center" valign="middle" >Waterproof [m]</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >30</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Operation temp min [˚C]</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >−20</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Operation temp max [˚C]</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >+60</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Algorithms …</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Calculate heartbeat zone by Sex, age, fitness level</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Measure, Ruhepuls“</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >yes</td><td align="center" valign="middle" ></td></tr></tbody></table></table-wrap></table-wrap-group></sec></body><back><ref-list><title>References</title><ref id="scirp.58518-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">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.</mixed-citation></ref><ref id="scirp.58518-ref2"><label>2</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Chen</surname><given-names> C.-T. </given-names></name>,<etal>et al</etal>. (<year>2000</year>)<article-title>Extensions of the Topsis for Group Decision-Making under Fuzzy Environment</article-title><source> Fuzzy Sets and Systems</source><volume> 114</volume>,<fpage> 1</fpage>-<lpage>9</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.58518-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Lapouchnian, A. (2005) Goal-Oriented Requirement Engineering. An Overview of the Current Res-earch, Technical Report, University of Toronto, Toronto.</mixed-citation></ref><ref id="scirp.58518-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">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.</mixed-citation></ref><ref id="scirp.58518-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">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.</mixed-citation></ref><ref id="scirp.58518-ref6"><label>6</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Zave</surname><given-names> P. </given-names></name>,<etal>et al</etal>. (<year>1997</year>)<article-title>Classi Cation of Research Eorts in Requirements Engineering</article-title><source> ACM Computing Surveys</source><volume> 29</volume>,<fpage> 315</fpage>-<lpage>321</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.58518-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">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. http://dx.doi.org/10.1109/icre.1996.491438</mixed-citation></ref><ref id="scirp.58518-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">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.</mixed-citation></ref><ref id="scirp.58518-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Goli, D. (2013) Group Fuzzy Topsis Methodology in Computer Security Software Selection. International Journal of Fuzzy Logic Systems, 3, 29.</mixed-citation></ref><ref id="scirp.58518-ref10"><label>10</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Olson</surname><given-names> D.L. </given-names></name>,<etal>et al</etal>. (<year>2004</year>)<article-title>Comparison of Weights in Topsis Models</article-title><source> Mathematical and Computer Modelling</source><volume> 40</volume>,<fpage> 721</fpage>-<lpage>727</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.58518-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Mansoor, A. and Streitferdt, D. (2011) On the Impact of Goals on Long-Living Systems. Workshop: Evolution&amp;auml;re Software-und Systementwicklung-Methoden und Erfahrungen, Karlsruhe, February 2011, 133-138.</mixed-citation></ref><ref id="scirp.58518-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Liou, T.-S. and Wang, M.-J. (1992) Ranking Fuzzy Numbers with Integral Value. Fuzzy Sets and Systems, 50, 247- 255.</mixed-citation></ref><ref id="scirp.58518-ref13"><label>13</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Saaty</surname><given-names> T.L. </given-names></name>,<etal>et al</etal>. (<year>2008</year>)<article-title>Decision Making with the Analytic Hierarchy Process</article-title><source> International Journal of Services Sciences</source><volume> 1</volume>,<fpage> 83</fpage>-<lpage>98</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.58518-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">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.</mixed-citation></ref><ref id="scirp.58518-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">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.</mixed-citation></ref><ref id="scirp.58518-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Castro, J., Kolp, M. and Mylopoulos, J. (2002) Towards Requirements-Driven Information Systems Engineering: The Tropos Project. Information Systems, 27, 365-389. http://dx.doi.org/10.1016/S0306-4379(02)00012-1</mixed-citation></ref><ref id="scirp.58518-ref17"><label>17</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Wiegers</surname><given-names> K. </given-names></name>,<etal>et al</etal>. (<year>1999</year>)<article-title>First Things First: Prioritizing Requirements</article-title><source> Software Development Online</source><volume> 7</volume>,<fpage> 48</fpage>-<lpage>53</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.58518-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">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.http://dx.doi.org/10.1109/icre.2002.1048501</mixed-citation></ref></ref-list></back></article>