22
105 CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT PRIORITIZATION 7.1 Introduction The success of a software project depends upon how intensively it accomplishes its intended purpose by meeting all stakeholders concerns pertaining to project requirements such as cost, schedule, performance etc. After successful requirement elicitation process the next challenge is to prioritize the requirement. There are various stakeholders involved in the project and each stakeholder has consolidated concerns over requirements. Each stakeholder has individual concerns facilitate to obtain preference orderings or priority of software requirements and consolidated concerns assist the software developer and analyst to obtain consensual preference priority that would satisfy all stakeholders involved in the project. Requirement prioritization is one of the most important activity of requirement engineering. One characteristic of effective requirements is that they are explicitly prioritized .Requirement prioritization is all set to prioritize the needs and requirement of the stakeholders. Requirement Prioritization provides support to project manager and analyst to resolve conflicts, plan for staged deliveries and make the necessary trade-off decisions, opting balancing strategy is to drop or defer low priority requirements to later release and implementing higher priority requirements. It’s difficult for an analyst to decide which of his requirements are most important; gaining agreement among multiple stakeholders with diverse expectations is even more challenging. Analysts prioritize requirements initially from the perspective of how valuable each requirement is to them. There are various factors on the basis of which an analyst assigns a priority to requirements. The challenge is to decide which factor is used as a basis for requirement prioritization and selection of appropriate technique for requirement prioritization. In proposed

CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

Embed Size (px)

Citation preview

Page 1: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

105

CHAPTER 7

A FUZZY BASED APPROACH FOR EARLY REQUIREMENT

PRIORITIZATION

7.1 Introduction

The success of a software project depends upon how intensively it accomplishes its

intended purpose by meeting all stakeholders concerns pertaining to project

requirements such as cost, schedule, performance etc. After successful requirement

elicitation process the next challenge is to prioritize the requirement. There are various

stakeholders involved in the project and each stakeholder has consolidated concerns

over requirements. Each stakeholder has individual concerns facilitate to obtain

preference orderings or priority of software requirements and consolidated concerns

assist the software developer and analyst to obtain consensual preference priority that

would satisfy all stakeholders involved in the project. Requirement prioritization is one

of the most important activity of requirement engineering. One characteristic of

effective requirements is that they are explicitly prioritized .Requirement prioritization

is all set to prioritize the needs and requirement of the stakeholders. Requirement

Prioritization provides support to project manager and analyst to resolve conflicts, plan

for staged deliveries and make the necessary trade-off decisions, opting balancing

strategy is to drop or defer low priority requirements to later release and implementing

higher priority requirements. It’s difficult for an analyst to decide which of his

requirements are most important; gaining agreement among multiple stakeholders with

diverse expectations is even more challenging. Analysts prioritize requirements initially

from the perspective of how valuable each requirement is to them. There are various

factors on the basis of which an analyst assigns a priority to requirements. The

challenge is to decide which factor is used as a basis for requirement prioritization and

selection of appropriate technique for requirement prioritization. In proposed

Page 2: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

106

requirement elicitation framework requirements are prioritized in early phase of

requirement engineering as post elicitation step. This category of prioritization at early

stage of requirement engineering is known as early requirement prioritization. In this

research study various methods of requirement prioritization are studied and analyzed

and finally a fuzzy based method for early requirement prioritization is proposed on the

basis of identified factors.

7.2 Categories of Requirement Prioritization

The important factor for requirement prioritization is to decide when to prioritize the

requirement. There are two categories of requirement prioritization are as follows.

7.2.1 Early Requirement Prioritization

In this category of prioritization gathered requirements are prioritized at early stage of

requirement engineering as post elicitation phase. This type of prioritization is known as

early requirement prioritization. In this category there are identifiable requirements

gathered from stakeholders, prioritization is done on the basis of some technique and

give each requirement a priority rating like High, Medium, Low. The results of

prioritization are used in further stages of requirement engineering.

7.2.2 Progressively Requirement Prioritization

In this category of prioritization gathered requirements progressively considered

whether to prioritize them. If there are any requirements that have Low value, then tag

them L. Use the idea of customer satisfaction and customer dissatisfaction to help other

analyst make choices. Part of the reason for this progressive prioritization is expectation

management. After requirement elicitation process requirements are gathered analysts

often think that means once they are gathered they will definitely be implemented. If the

analyst progressively talking about prioritization throughout the project, they may be

able to understand the concept required for effective requirement prioritization

technique. At this point an idea is developed that it is not possible to implement all the

requirements, but there is no point in saying this just once. To effectively manage

expectations there is a need to mention the need for requirement prioritization.

Page 3: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

107

7.3 Requirement Prioritization Techniques

There is a growing acknowledgment in industrial software development that

requirements are of varying importance and there is need for methods capable of

prioritizing requirements. Reasons for this include that not all requirements can usually

be met with available time and resource constraints. Efficient and trustworthy methods

for prioritizing requirements are therefore strongly demanded by practitioners. There are

several methods of requirement prioritization which are studied in this research study.

(i) Analytic Hierarchy Process (AHP)

Another well-known prioritization technique based on ratio scale results is called

Analytic Hierarchy Process (AHP). AHP is developed by Saaty (1980) and it is

designed for complex decision making. The idea of AHP is that it compares all possible

pairs of hierarchical requirements to determine the priority .It requires n*(n-1)/2 pair-

wise comparisons to settle the priority, it is trustworthy and insensitive to judgmental

errors [157]. The priorities are relative and based on a ratio scale, which allows for

useful assessment of requirements in the future.

(ii) Hierarchy AHP

This method is same as AHP but requires slightly less number of comparisons to

prioritize the requirements. It uses the hierarchical structure to establish relationship

between the requirements [150] thereby reducing the number of comparisons and

amount of redundancy. Thus it is more sensitive to judgmental errors than AHP. This

can reduce the number of redundant comparisons, but the trade-off is that the ability to

identify inconsistent judgments is also reduced.

(iii) Minimal Spanning Tree

The pair-wise comparison in AHP introduces redundancy indicating inconsistent

judgments if decision makers were perfectly consistent. Minimal spanning tree removes

this redundancy .In this method the decision maker create a minimal spanning tree in a

directed graph, it requires only n-1 comparisons, takes least effort and is very fast but it

is more sensitive to judgmental errors since all redundancy has been removed.

Page 4: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

108

(iv) Bubble Sort

It is one of the simplest and most basic methods for sorting elements [148] in

requirement prioritization, sort’s requirements according to their priorities. This method

is closely related to AHP as it requires same number of pair-wise comparisons as in

AHP , requirements are ranked according to their priority on an ordinal scale.

(v) B Tree

B-Tree[149] are balanced search trees, internal nodes having the variable number of

child nodes with in some pre-defined range .When the data is inserted or removed from

a node, its number of child nodes changes. B-Tree is kept balanced by requiring that all

nodes are at same depth. B Tree is a dynamic method for requirement prioritization. It is

seen that the number of comparisons is dramatically reduced for B-Tree compared with

AHP. This is significant when there are a large number of requirements that need to be

prioritized, but only a small number of comparisons is required.

(vi) Priority Groups

In software projects one group of requirements can be clearly different in terms of

importance than another set. It divides the requirements into separate groups based on a

rough prioritization thereby reducing the required effort. These groups are internally

ranked and then the requirements inside these sets are ranked by using a suitable

approach for ordering the requirement. This reduces risks of fixing priority in wrong

order. The numbers of comparisons are same as binary search tree.

7.4. Comparison of Requirement Prioritization Techniques

All the methods discussed so far are compared on the basis of the criterion given below.

Table 7.1 suggests few potential advantages and disadvantages of the methods discussed

above. From the results provided in table 7.1, it is seen that AHP can provide the most

reliable result of the six methods, but it requires the largest number of decisions and the

longest time consumption. Minimum spanning tree involves the smallest number of

decisions and the shortest amount of time consumption, but it provides the least reliable

result and the lowest fault tolerance. Bubble sort is the easiest method to use and it can

Page 5: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

109

provide relatively reliable results and relatively good fault tolerance, but it involves the

largest number of decisions. Hierarchy AHP and binary search tree reside in the middle.

They produce less reliable results than AHP and bubble sort, but also take fewer

decisions and less time to perform than AHP and bubble sort. Minimum spanning tree

requires less effort and time to perform the prioritization process, but it contains a high

risk of misdirecting project resources and time since it provides low reliable results.

AHP and bubble sort methods can provide reliable results, but they need large amounts

of effort and time to perform. B-Tree is a well established method for sorting elements.

The idea of B-Tree is that its internal nodes can contain a variable number of children

nodes .The complexity of B-tree is О (t*logt n) and the complexity of AHP is O(n2). It

is seen that the number of comparisons is dramatically reduced for B- Tree compared

with AHP. This is significant when there are a large number of requirements that need

to be prioritized, but only a small number of comparisons are required. But the

drawback of this technique it is not reliable as the accuracy of this technique is

unknown. It is seen that no one of the prioritization method is perfect among these six

methods especially in large scale project .In large scale projects requirements set are

very large, and the most important challenge is to prioritize the requirement. The above

discussion conclude that for early requirement prioritization an effective approach is

needed ,which supports analysts to easily prioritize the requirements during

implementation phase especially in large scale projects.

The proposed fuzzy based approach for requirement prioritization involves n-1

comparisons as compared to other technique and also supports grouping of prioritized

requirement suitable for large scale projects. The fuzzy based approach is easy to

implement and the requirements are prioritized using fuzziness as fuzzy inference

system. The FIS uses knowledge base and rules defined in FIS as a basis for decision

making in requirement prioritization technique. The proposed approach is easy to

implement, reliable, cost effective, less time to perform and fault tolerant in nature. The

results obtained using fuzzy based approach are always appreciable as compared to

other techniques and provide support to analyst in decision making related to

requirement prioritization.

Page 6: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

110

Methods Concept No of

Comparison

s

Ease of

use

Reliability Size of

Project

Fuzziness Complexity

Analysis

Analytic

Hierarchy

Process

Pair-wise

Comparison

n*(n-1)/2 Easy High Medium Not

Supported

O(n2)

Fuzzy AHP

Pair-wise

Comparison

< n*(n-1)/2 Easy High Medium Supported O(n2)

Spanning

Tree Matrix

Pair-wise

Comparison

n-1 Difficult Low Medium

Large

Not

Supported

О(log n)

Bubble Sort

Comparison

of Adjacent

requirement

n*(n-1)/2 Very

easy

Medium Small Not

Supported

O(n2)

B -Tree

Comparison

of Adjacent

requirement

n*(n-1)/2 Very

easy

Medium Medium

Large

Not

Supported

О (t*logt n)

Priority

Group

Relationship

Matrix

n-1 Difficult Low Medium Not

Supported

О (n log n)

Table 7.1: Comparison of Prioritization Methods

Page 7: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

111

7.5 Requirement prioritization factors

There are various requirement prioritization factors on the basis of which analyst can

prioritize the requirements. Selecting right prioritization factor is the key to successful

prioritization process. In this work various factors are studied [159][160][161] shown in

the table 7.2.

Requirement

Prioritization

Factor

Description Project

support

Impact on

Prioritization

Business value At the time of implementation, different set of

requirements will have different business

value.

Small Low

Risk The requirements are prioritized by the risks

associated with their implementation.

Small Low

Cost The implementations of different set of

requirements have different development time

or cost.

Small Low

Complexity Level Related to prioritizing the requirement by their

estimated Complexity level to implement.

Large High

Requirements

stability

Some requirements are relatively stable as

compared to others. Whereas other set of

requirements are very much subject to change

at the time of implementation.

Large Medium

Importance to

customers

In software projects some requirements will be

critical and important to customers, whereas

others will be less important though still

mandatory.

Large High

Different kinds of

requirements

Different categories of requirements may need

different approaches to prioritize the

requirements.

Small Medium

Reusability Requirements reusability is defined as the

ability to use in software project requirements

that have already been used before in other

software projects

Large High

Table 7.2: Requirement prioritization factors

The above table shows list of various prioritization factors. There are 8 prioritization

factors which are identified after critical analysis of various literatures and methods.

Page 8: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

112

The study shows the functions, impact, and project support of various factors in

prioritization process. The analysis suggests that different factors have different

behavior and impact during requirement prioritization.

7.6 Problem Definition

The above discussion justifies the importance of requirement prioritization in

commercial software development has been established. Yet there has been little

progress to prioritize the requirements either theoretical or practical, on the mechanisms

for requirement prioritization. One problem with requirements is, there are many

requirements related to the project in large scale as well as in small scale projects. So

there is a need to select or choose the requirements, which of the requirement is

implemented in different versions of the product. The gathered requirements are

required to be put into an order of some priority, in other words there is a need to

prioritize the requirements. Decisions about requirement prioritization are critical

because they involve different factors for a set of stakeholders and these factors are

often conflicts with other stakeholders. Also, as there are many stakeholders with

different goals and objectives, it is difficult to conclude into an agreement about

requirement priorities. It is evident from above discussion that most of the approaches

and techniques proposed in recent research to prioritize the requirements have not been

widely adopted. These approaches are too complex, time consuming, or inconsistent and

difficult to implement. In this work a new approach to early prioritize requirements is

proposed that is practical and easily implemented.

7.7 Background of Fuzzy Inference Systems

Fuzzy Logic is a powerful problem-solving methodology to deal with imprecision and

information granularity [154] [155]. A fuzzy model is used when the system is not

suitable for analysis by conventional approach or when the available data is uncertain,

inaccurate or vague. Fuzzy Logic starts with the concept of fuzzy set theory. It is a

theory of classes with sharp boundaries and considered as an extension of the classical

set theory. Classical theory requires high understanding of the system, whereas fuzzy

logic is completely empirical and relies on experience and knowledge rather than the

technical understanding of the subject for modeling the complex system [152] [153].

Page 9: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

113

A fuzzy inference system (FIS) tries to derive answers from a knowledge base by using

a fuzzy inference engine. The inference engine which is considered to be the brain of

the expert systems provides the methodologies for reasoning around the information in

the knowledge base and formulating the results. The membership function of a fuzzy set

corresponds to the indicator function of the classical sets. It can be defined in the form

of a curve that explains how each point in the input space is mapped to a membership

function value or a degree of truth table. There are various shapes of a membership

function, triangular, trapezoidal and bell curves. Fuzzy Inference Systems are

conceptually very simple. An FIS have three stages named, input, processing and output

stage. The input stage maps the inputs like deadline, execution time, and so on, to the

appropriate set of membership functions and truth values. The processing stage calls

each appropriate rule and generates result for each rule. After that it then combines the

results of all the rules designed. In the last stage, output stage converts the combined

result back into a specific set of output values [151]. The five steps toward a fuzzy

inference are as follows:

Fuzzifying Inputs

Applying Fuzzy Operators

Applying Implication Methods

Aggregating Outputs

Defuzzifying Results

Below is a quick review of these steps. Fuzzifying the inputs is the process of

determining the degree to which they belong to each of the appropriate fuzzy sets by

means of membership functions. Once the inputs have been fuzzified, the degree of

each part of the antecedent has been satisfied for each defined rule is known. If the

antecedent of a given rule has more than one part, the fuzzy operator is applied to obtain

one value that represents the result of the antecedent for that rule. The implication

function then modifies that output fuzzy set to the degree specified by the antecedent.

The decisions are based on the testing of all of the rules in the Fuzzy Inference System

(FIS), the results from each rule must be combined in order to make the final decision.

Aggregation is the process by which the fuzzy sets that represent the outputs of each

Page 10: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

114

rule are processes into a single fuzzy set. The input for the defuzzification process is the

aggregated output fuzzy set and the output is then a single crisp value [151].

7.8 Requirement Prioritization Using Fuzzy system

The proposed model for early requirement prioritization has an input stage consisting of

three linguistic variables. The output stage consists of one linguistic variable called

priority rating Pr. The input and output variables are mapped into fuzzy sets using

appropriate membership functions. The shape of the membership function for each

linguistic term is determined by the expert. There are 27 rules specified for fuzzy

inference system. These rules are aggregated for the output. The output of fuzzy

inference system is priority rating Pr. If Pr value is high , the more important is the

requirement. The requirements with high priority are considered as high priority

requirements and implemented in first phase of implementation process.

7.8.1 Selection of Requirement Prioritization Input Attributes

The success of requirement prioritization depends on the selection of factors on the

basis of which the analysts prioritize the requirements. In this work various factors are

studied and analyzed as shown in table 7.2 .In fuzzy based early requirement

prioritization approach, requirements are prioritized using fuzzy based system. After

critical analysis of various factors on the basis of their role, project support and impact

of prioritization process, three attributes are identified which gives better results in

requirement prioritization process. These factors are as follows.

1. Complexity Level

2. Degree of Reusability

3. Importance to customer

These three factors play an important role in prioritization of requirements especially in

large scale projects. The impact of identified factor on requirement prioritization is high

as compared to other factors. The fuzzy based approach for early requirement

prioritization is proposed for large scale project where the requirements set is large. The

three factors supports large scale projects as shown in table 7.2.In fuzzy based approach,

linguistic inputs are used as input to fuzzy based system. The three factors selected for

prioritization are worked as linguistic inputs .Considering these factors one can easily

prioritize the requirement. Not all defined factors are relevant to every software project,

Page 11: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

115

and the relative importance of the defined factors is different for each project. And, within a

project, the relative importance is not the same for all the project stakeholders. After critical

analysis of identified factors various metrics are defined .The impact of these metrics are shown

in the table 7.3

Input

Attributes

Metrics Definition Value

Complexity

Level

Interface Complexity [IC] Defines the Ext/Int interface

complexity

Low Level

Medium Level

High Level

User Complexity [UC] Defines the users complexity

System Feature Complexity [SFC] Defines the system features

complexity

Design Constraint Imposed [DCI] Defines the total no of

constraints imposed on the

system

Degree of

Reusability

Observability [OBS] [OBS] measures how easy it is

to observe a component.

Low Degree

Medium Degree

High Degree

Existence of Meta-Information [MI] The existence of [MI] indicates

whether the[MI] of the target

component is provided.

Customizability [CST] [CST] indicates the built-in

capability for supporting the

customization.

Understandability [UDS] [UDS] indicated the

understanding of components

Portability [PRT] [PRT] indicated the portability

of components

Importance

to customer

Functionality Usage [FU] [FU] indicates the important

functionality of the system

Less Important

Intermediate

Importance

High

Importance

Customer Satisfaction [CS] [CS] indicates the customer

satisfaction of the customer in

the system

Table 7.3: Requirement prioritization Input attributes

Page 12: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

116

7.8.2 Proposed Algorithm

1. Using Fuzzy Inference System to Requirement Prioritization.

2. Defining FIS variables and fuzzification of the input variables using membership

function editor

3. Specifying rules for Fuzzy inference system using Rule Editor for requirement

prioritization problem.

4. Rule Evaluation

5. Aggregation of the rule output

6. Defuzzification of the output value

7.8.3 Description of Algorithm

Step 1: Using Fuzzy Inference System to Solve Requirement Prioritization

problem.

Fuzzy logic starts with the concept of a fuzzy set. A fuzzy set is a set without a crisp,

clearly defined boundary. A membership function (MF) is a curve that defines how

each point in the input space is mapped to a membership value between 0 and 1. There

are five primary GUI tools for building, editing, and observing fuzzy inference systems

in Fuzzy Logic Toolbox:

1. Fuzzy Inference System (FIS) Editor

2. Membership Function Editor

3. Rule Editor

4. Rule Viewer

5. Surface Viewer

Page 13: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

117

In this work Mamdani method is used. This method is widely accepted for capturing

expert knowledge. It also allows us to describe the expertise in more intuitive, more

human like manner. In Mamdani method the fuzzy sets from the consequent of each

rule are combined through the aggregation operator and the resulting fuzzy set is

defuzzified to yield the output of the system.

Figure 7.1: FIS editor for Requirement Prioritization Problem

Page 14: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

118

Step 2: Defining FIS variables and fuzzification of the input variables using

membership function editor

Figure 7.2: FIS variable Complexity Level

Figure 7.3: FIS variable Reusability

Page 15: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

119

Figure 7.4: FIS variable ITC

Figure 7.5: FIS output variable Pr

Page 16: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

120

Step 3: Specifying rules for Fuzzy inference system using Rule Editor for

Requirement Prioritization Problem.

Complexity Level

Degree of

Reusability

Importance to

Customer

Priority

Rating

Low Low Low Low

Low Low Medium Low

Low Low High Low

Low Medium Low Low

Low Medium Medium Medium

Low Medium High Medium

Low High Low Medium

Low High Medium Medium

Low High High High

Medium Low Low Low

Medium Low Medium Medium

Medium Low High Medium

Medium Medium Low Medium

Medium Medium Medium Medium

Medium Medium High Medium

Medium High Low Medium

Medium High Medium Medium

Medium High High High

High Low Low Medium

High Low Medium Medium

High Low High Medium

Page 17: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

121

High Medium Low Medium

High Medium Medium Medium

High Medium High High

High High Low Medium

High High Medium High

High High High High

Table 7.4: Fuzzy Rules

Figure 7.6: Rule Editor for Requirement Prioritization Problem.

Page 18: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

122

Step 4: Rule Evaluation Aggregation of the rule output and Defuzzification of the

output value.

Fig 7.7: Rule Evaluation Aggregation of the rule output

Page 19: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

123

Step 5: Surface view

Fig 7.8: Surface view of Requirement Prioritization problem

7.9 Empirical Analysis

In previous sections the fuzzy based approach for early requirement prioritization is

proposed. The methodology of fuzzy based approach for early requirement

prioritization approach is shown in fig 7.1 to fig 7.8.In this section proposed fuzzy

based approach for early requirement prioritization is applied to a project as a case

study. CMS project is selected as a case study for the empirical analysis of fuzzy based

approach for early requirement prioritization. CMS project enables the ability to

acquire, store and reuse the assets necessary for the successful content management of

any business platform. The CMS project process would allow acquisition and

management of assets coming from different sources and medium .The requirements of

CMS project gathered during requirement elicitation phase are listed below in table 7.5.

Page 20: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

124

Req_Id Requirement Description

R1 Customize the User Interface.

R2 Add Content Editor and content approver role.

R3 To provide a portal to the Content provider with options.

R4 Email notifications to be send to content provider.

R5 Conversion of the content to Digital form.

R6 Quality check of the content.

R7 Check Content format.

R8 Apply security over the content.

R9 Create of package.

R10 Create poster for advertisements.

Table 7.5: CMS Requirements Elicited

Requirement Complexity Level Degree of

Reusability

Importance to

customer

Priority

Rating

R1 6.5 3.9 7.0 6.0

R2 5.5 9.7 9.9 9.5

R3 9.0 4.8 8.0 8.8

R4 2.0 2.2 2.0 2.0

R5 6.0 8.5 7.7 5.4

Page 21: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

125

R6 9.5 9.1 7.2 9.7

R7 4.3 3.7 4.0 5.7

R8 1.0 6.2 2.5 2.0

R9 1.5 4.5 3.7 5.0

R10 2.9 1.9 8.8 2.0

Table 7.6: Prioritized Requirements

Priority Requirements

High { R2,R3,R9}

Medium { R1,R5,R7,R9}

Low { R4,R8,R10}

Table 7.7: Requirement Priority of CMS project

Table 7.5 listed a few requirements of CMC project gathered during requirement

elicitation phase. These requirements are elicited by using proposed requirement

elicitation framework. Now the next challenge of proposed framework is to prioritize

requirements of CMC project. The gathered requirements are prioritized in early phase

of requirement engineering. The CMC requirements are prioritized using fuzzy based

system having three inputs, complexity level, degree of reusability, importance to

customer and 27 rules are defined in FIS, output is defuzzified using Pr variable. The

results are shown in table 7.6& 7.7. Table 7.6 shows Pr values of R2, R3 & R9 are high

and considered as high priority requirements. These CMC requirements are

implemented in the first phase of implementation. The proposed model for early

requirement prioritization is compared with other techniques [157][155][148][149] and

models[137][138][139]. The proposed fuzzy based approach for requirement

Page 22: CHAPTER 7 A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ...shodhganga.inflibnet.ac.in/bitstream/10603/67167/8/chapter- 7.pdf · A FUZZY BASED APPROACH FOR EARLY REQUIREMENT ... After

126

prioritization involves n-1 comparisons as compared to other technique and also

supports grouping of prioritized requirement suitable for large scale projects. The fuzzy

based approach is easy to implement and the requirements are prioritized using

fuzziness as fuzzy inference system. The proposed approach is easy to implement,

accurate, effective as compared to other techniques. The results obtained using fuzzy

based approach are always appreciable as compared to other techniques and provide

support to analyst in decision making related to requirement prioritization.

7.10 Conclusion

Requirement prioritization is an important activity of requirement engineering. This

work proposes an approach for prioritizing software requirements based on the

formulation of a fuzzy logic based System. The proposed fuzzy based approach

considers the nature of requirements by modeling their attributes as fuzzy variables. As

such, these variables are integrated into a fuzzy based inference system in which the

requirements represented as input attributes and ranked via the expected value operator

of a fuzzy variable. The proposed approach is easy to implement, reliable, cost

effective, less time to perform and fault tolerant in nature. The results obtained using

fuzzy based approach are always appreciable as compared to other techniques and

provide support to analyst in decision making related to requirement prioritization.