An Evaluation of Requirement Prioritization Techniques with ANP

This article elaborates an evaluation of seven software requirements prioritization methods (ANP, binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort). Based on the case study of local project (automation of Mobilink franchise system), the experiment is conducted by students in the Requirement Engineering course in the department of Software Engineering at the University of Science and Technology Bannu, Khyber Pakhtunkhawa, Pakistan. Parameters/ measures used for the experiment are consistency indication, scale of measurement, interdependence, required number of decisions, total time consumption, time consumption per decision, ease of use, reliability of results and fault tolerance; on which requirements prioritization techniques are evaluated. The results of experiment show that ANP is the most successful prioritization methodology among all the available prioritization methodologies. Keywords—Requirement Engineering; Requirement prioritization; ANP; AHP; Software Engineering; Comparison


INTRODUCTION
While developing a software project, developers often face a situation where decision among several options has to be taken.Normally Software projects are composed of many requirements [1].Requirement prioritization is an important and continuous process throughout software development.[20] Usually all the requirements are not important for the user.Therefore there is a need of prioritizing the requirements according to the limited resources regarding time, budget, and to satisfy client regarding quality.Also developers' team does not have the information that which requirements are in the interest of users.When there is a single stakeholder it is easy to identify important and less important requirements but when the number of stakeholders becomes more than one then it becomes difficult to take decision in the development of the project, because different stakeholders have different views regarding the requirements.For software project development, software requirements prioritization is considered one of most urgent decision making process [2].When developing a software, often comes a situation where decision among different options are made [21].The software projects still have low success rates these days.Nowadays success rate of software projects is at the lower side.Software project goes into failure due to lesser customer involvement in software project, inadequate resources, unrealistic outcomes, dynamic software requirements and requirements specification [16].Requirements prioritization helps by increasing user interaction with the system as it allows the stakeholder to specify such requirements which are of greater interest for customer.Requirements prioritization also helps to remove the disagreement among several stakeholders.Resources are assigned to requirements based on their priorities; it becomes possible due to requirement prioritization [17].Requirements prioritization helps to know the problems in the requirements like misunderstanding or ambiguity among requirements so that future problems are prevented in advance in order to save resources in terms of cost and time [5].With help of requirements prioritization conflicts amongst different stakeholders can be resolved.[22] Hatton says that prioritizing requirements is very important when developing software product, which helps in minimizing project failure rate [8].Shah nazir [18] used ANP to prioritized component selection using quality attributes and produce better results.FBI Virtual Case File (VCF) project is a case study of huge software product.Project was completed in estimated cost of 170$ Million [3].C.Huang and Mobasher performed detailed examination of Virtual Case File project and came to conclusion that project failed because of requirements mismanagement and not conducting prioritization of requirements [4].Akmli [19] used ANP framework which is largely used MCDM approach for prioritization of quality and environmental criteria in generic case.
Nowadays software construction has become very fast.As many alternate options are easily available in software industry therefore it is necessary to complete the project www.ijacsa.thesai.orgwithin assigned cost and time.For this purpose a requirements prioritization methodology must be used which is simple to utilize, simple to know and provides consistent & efficient results.This methodology should be able to prioritize interdependent requirements.The AHP and analytic network process (ANP) are two analytical approaches for Requirements prioritization.The AHP is applied to break down large unstructured decision problems into controllable and measurable modules.The ANP, as the general form of AHP, is powerful to deal with complex decisions where interdependence exists in a decision model.Despite the increasing number of applications of AHP in different fields that entail decision making, ANP has started to be engaged in Requirements prioritization in software engineering fields.
Still the field of requirements' prioritization using ANP is lacking in quality research papers.This paper presents detailed assessment of seven requirements prioritization techniques which are: analytic network process (ANP), analytic hierarchy process (AHP), hierarchy AHP, spanning tree matrix, bubble sort, binary search tree and priority groups.In order to understand each prioritization technique, each technique is applied to prioritized Mobilink Franchise system.These prioritization techniques are then evaluated against pre-defined criteria, which are taken from literature and software experts like ease of use, required completion time, reliability of results and measuring inter-dependency of requirements.ANP is found to be the most promising and reliable technique amongst all the prioritizing techniques despite of the fact that ANP takes greater time to complete prioritization process.

II. REQUIRMENTS PRIORITIZATION METHODS
In this section prioritization techniques are elaborated in detail, explaining how requirements are prioritized using each prioritization methodology in order to know limitation of each methodology.

A. Priority Groups
A number of studies mention the numerical assignment techniques such as [5], [6], [7], [8], [9], [10].It is a basic requirements prioritization technique in which different prioritization groups are made and then requirements are mapped into these priority groups.Several prioritization groups may be varied but certain groups are same.For example the common groups are low, medium, high.When requirements are plotted to the specified requirement prioritization groups, then requirements inside each priority group have same priority.

B. Bubble Sort
Elements can be sorted using bubble sort technique.Bubble sort was mentioned by Hopcroft, Aho and Ullman [12].Karlsson [5] first of all introduced bubble sort for the software requirements prioritization.In bubble sort requirements prioritization, the user takes first of all two requirements and compares these two requirements.If the two requirements are out of order then we take another requirement and compare it with the first requirement, this process continues until all the requirements are in order.The most important requirement is at the top and the less important is at the bottom.

C. Binary Search Tree
Hopcroft, Aho and Ullman [12] proposed another technique of binary search tree which is used for the sorting.In binary search tree all the nodes have at most two children.Binary search tree was first time introduced to requirements prioritization by Karlsson [5].In binary search tree, each node shows a requirement.Less important requirements are placed to the left side of the node and more critical requirements are placed to the right side of the node of the binary search tree.In binary search tree requirements prioritization is done in the following way.Take one requirement and place it as a root node now take another requirement and compare it to the root node if that requirement is less significant than the root node, then compare it to the left child node of the root node, if that requirement is of greater significance than the base node, then compare it to the right side child of the root node.If the base node does have any child nodes then put that requirement as a new child of the root node.If the requirement have greater priority than root node, put that requirement as a child of root node on right side and if it is of less importance than the root node, put that requirement to left side node as a new child of the root node.This process is repeated until all the requirements are adjusted and placed in the binary search tree.

D. Analytic Hierarchy Process (AHP)
Analytic hierarchy process is a well-known requirements prioritization technique.Analytic hierarchy process was proposed by Saaty [13].In AHP, first of all requirements are identified then criteria are identified in order to prioritize requirements against them.The Possible hierarchy made in AHP is pairwise comparison to each other.Relationship amongst hierarchies is identified.User will assign importance on the scale which is from 1 to 9. The scale is shown in the Fig 1.Now AHP changes the customer consideration to numeric values and numeric values are assigned to each element in the hierarchy.Redundancy might take place when prioritizing requirements with AHP, therefore consistency ratio must exists in order to know that legitimate prioritization has been achieved.AHP not only prioritizes requirements but also gives the knowledge that to what degree they are more prior.If there are n requirements to be compared by AHP then the number of pairwise comparisons will be n (n-1)/2.

E. Hierarchy AHP
The most abstract level software requirements are located at the top of the hierarchy and the more precise level requirements are located at the bottom of the hierarchy.Karlsson introduced hierarchy AHP to prioritize requirements which are placed at the same level [5].In this technique, all unique pairs of requirements are placed at the same level.Now all requirements are not pair wise compared to each other, only those are compared which are placed at the same level.www.ijacsa.thesai.org

F. Minimal Spanning Tree
This is another technique used to prioritize requirements which is proposed by Karlsson [5].In minimal spanning tree prioritization method the idea is that, if the decision making is made absolutely constant, then the redundancy can be overcome.For example if requirement 1is known to be of greater priority than requirement 2 and requirement 2 is of greater priority than requirement 3, then requirement 1 must be of greater priority than requirement 3 but AHP allows the user perform pairwise comparison also, which is already done and hence increases the redundancy.

G. Analytic Network Process (ANP)
The ANP is "a multi criterion theory of measurement used to obtain relative priority scales of absolute numbers from individual judgments that also belong to fundamental scale of absolute numbers" [15].The judgments show the comparative dependence of one or two elements in the network or cluster in a pair wise comparison method over the other element in the system, with respect to certain control criterion.In ANP, pair wise comparisons of each element in each level in the network are performed with admiration to their relative significance towards the control criterion.When in the network all the pair wise comparisons are finished, the vectors related to the highest Eigen values of the constructed matrices are computed and a priority vector is obtained.The wanted elements priority values are calculated by normalizing these vectors values.The super matrix is constructed from the output derived from the comparison method, where super matrix is contained of the collection of the matrices of column priorities.
ANP provides a common structure to deal with decision problems and to select a decision from a group of decisions.Major dissimilarity between ANP and AHP is that in AHP the elements are in a hierarchy, one cannot calculate its dependency on the criteria and on the same elements in the hierarchy.In AHP all the elements are independent.[15].ANP is the broader form of AHP, its main similarity to AHP lies in the fundamental theory: both techniques have the idea of relative significance of influence as a major concept.ANP technique uses the same basic scale of the AHP for the measurement with the additional facility to answer two kind of questions as: for given criterion, which of the two elements have more dependence?, or for given criterion, which of the two elements have greater dependency?[15] The fundamental scale by both the techniques is depicted in the Fig. 1.

A. Goal Definition
The experiment was motivated by the need of determining the difference between the performance of requirements prioritization using ANP and other prioritization techniques; as ANP provides additional facility to prioritize the requirements which are interdependent.
Objective of the study: The objective of the study is the requirements prioritization through ANP and comparing the performance of ANP with other requirements prioritization techniques (binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort).
Purpose: The purpose of the experiment is to evaluate the performance of ANP on the basis of interdependent software requirements.This experiment also provides an overview to the requirement experts or requirement engineers and stakeholders about how to prioritize requirements techniques.
From researchers' perspectives: The researchers would like to know about the new requirements prioritization techniques and would look for more research in this area as to improve the performance of ANP while prioritizing requirements.
Quality Focus: The main effect studied in this experiment is the determination of priorities of interdependent requirements and the performance of ANP while prioritizing software requirements as compared to other requirements prioritization techniques on certain parameters/measurements.

1) Inherent Measures
Two inherent properties of the requirements prioritizing methods were identified: Consistency indication: This property shows whether the requirements prioritization techniques are able to show consistency in the judgment of decision makers.This property needs redundancy in the decision making.

Scale of measurement:
This property explains the scale which is used to obtain the final priorities of the requirements.Scaling the requirements is an important characteristic; through which we can get actual values and rank the requirements.The more powerful the scale the more reliable and accurate will be the result.The four (4) methods of scale which are nominal, ordinal, interval and ratio scales are used.

2) Objective Measures
Below objective measures were discussed while performing the comparison.
Required number of Decisions: For Analytic Network Process (ANP), AHP, Hierarchy AHP, spanning tree and bubble sort the number of decisions are already known, but for the binary search and priority groups, the number of decisions depend upon how the participants perform that session.This www.ijacsa.thesai.orgmeasure shows how many comparisons are needed by the decision makers to solve the problem.
Total time consumption: This measures the total time needed by the decision maker to complete the overall steps in prioritizing requirements.Total time consumption measure is different from the required number of decision measures, as each requirements prioritization method has different way to complete the comparison and therefore take different time.

Time consumption per decision:
In time consumption per decision we note the time taken per decision.

3) Subjective measures
In order to get good understanding, the requirements prioritization techniques are compared with respect to usability.Scale from 1 to 6 is used to rank the requirements.If 1 is assigned to any requirement prioritization technique then it is considered as one of the best methods.The following features are considered to be judged.
Ease of Use: This measure shows how easily a specific requirements prioritization method can be used to prioritize the requirements.

Reliability of Results:
Reliability of results shows that how reliable the results are after judgment.
Fault Tolerance: Fault Tolerance shows how good a requirements prioritization method is to judge error while prioritizing requirements.

Context:
The experiment is performed in the context of requirements prioritization.Moreover, the experiment is conducted in the Requirement Engineering course in the department of Software Engineering at the University of Science and Technology Bannu, Khyber Pakhtunkhawa, Pakistan.The experiment was performed on the basis of Karlsson et al [5] experiment.In Karlsson et al [5] experiment six (6) requirements prioritization techniques are compared on the basis of above mentioned parameters/measures.Karlsson et al [5] experiment was the base for this experiment.In this experiment a new proposed requirements prioritization technique is included along with the existing prioritization techniques, therefore the seven (7) requirements prioritization methods are compared with newly proposed prioritization technique.The comparison was done using the same parameters which were used in the Karlsson et al [5] experiment and were explained above.An additional parameter was included, to know that which requirements prioritization technique prioritize interdependent requirements.It was the main purpose of the experiment.For this purpose a quiz was taken from the students of software engineering in subject of requirement engineering of sixth (6 th ) semester, while the topic was requirement prioritization.Among them top seven (7) students were selected for the experiment on the basis of their obtained highest marks in the quiz and their interest towards research.

4) Summary of scoping
Analyze the performance of ANP while prioritizing requirements.

For the purpose of comparison with other requirements prioritization techniques
With respect to evaluate interdependent requirements support From the view point of researchers and industry.
In the context of requirements prioritization.

B. Planning 1) Context selection
The context of the experiment is requirements prioritization which is one of the topics of Requirement Engineering course studied at the Institute of Engineering and Computing Science, UST Bannu Khyberpakhtunkhawa, Pakistan, hence the experiment was run offline(not in the software industry).The experiment was conducted by graduate students of the Software Engineering who had taken Requirement Engineering as a subject in the 6 th semester.The experiment is specific, since it is focused on the requirements prioritization in an educational environment.The experiment shows the real problem; prioritization of interdependent requirements prioritization.This experiment will provide good opportunities to other researchers to consider it in their research as it is well defined and it can help the requirements engineers/stakeholders how they can prioritize both dependent and independent requirements.

2) Hypothesis Formulation
An important part of the experiment is to understand and formally state what will be evaluated in the experiment.This goes to formulation of hypothesis/hypotheses.Below are the hypotheses chosen for the experiment.a) Both dependent and independent requirements are prioritized, therefore it is expected that ANP will prioritize both dependent and independent requirements while other prioritization techniques will prioritize only independent.
b) The performance of ANP while prioritizing software requirements are expected to produce better prioritization results as compared to other prioritization techniques.
c) ANP is expected to produce more reliable results than that of the other prioritizing techniques.
d) While prioritizing the dependent or independent requirements by ANP, it is expected that there will be less chances of errors as compared to other prioritization techniques.
e) Required number of decisions to complete the prioritization process by ANP may be greater than that of the other prioritization techniques but Total time Consumption and Time Consumption per decision are expected to be less than that of AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort.
Hypotheses are formally stated and defined as below a) Null hypothesis, H 0: ANP and other prioritization methods, as binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort, prioritize both dependent and independent requirements.www.ijacsa.thesai.orgH 0: ANP, binary search tree, AHP, hierarchy AHP, spanning tree matrix, Priority group and bubble sort prioritize both dependent and independent requirements.
Alternative hypothesis H 1 : ANP prioritize both dependent and independent requirements while binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort prioritize only independent requirements.b) Null hypothesis, H 0: There is no difference in the performance while prioritizing requirements by ANP, binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort.

c) Null hypothesis, H 0:
There is no difference in the reliability of the results obtained from ANP, binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort.

d) Null hypothesis, H 0:
There is less chance of error when prioritizing requirements by ANP, binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort.
H 0 : Errors, prioritizing requirements by ANP = Errors, prioritizing requirements by binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort.
Alternative hypothesis H 1 : Errors, prioritizing requirements by ANP ≠ Errors, prioritizing requirements by binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort.

e) Null hypothesis, H 0:
There is no difference in the total time consumption and time consumption per decision by ANP, AHP, hierarchy AHP, binary search tree, spanning tree matrix, priority group and bubble sort.
H 0 : Total time consumption and time consumption per decision by ANP = total time consumption and time consumption per decision by binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort.
Alternative hypothesis H 1 : Total time consumption and time consumption per decision by ANP ≠ total time consumption and time consumption per decision by binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort.

3) Variable Selection
The independent variables are the requirements prioritization techniques.The dependent variables are performance, errors occurrence and reliable results

4) Selection of Subject
Subject is the students, taking part in experiment, some of them are selected as sample on the basis of performance in the quiz.

5) Experiment Design
The problem has been defined and the dependent and independent variables are identified.Thus now an experiment can be designed as below.
Randomization: A lecture was given on requirements prioritization to all the subjects of sixth (6th) semester of software engineering in the course of requirement engineering.After that a quiz was taken in the subject.Then those subjects having highest scores in the quiz were selected as participants for the experiment.The object was assigned randomly to subjects.Subjects selected for the experiment were selecting randomly as they were representing the whole class.The subjects were given an introduction also on the case study used for the experiment.
Blocking: No order technique of blocking is applied.Seven (7) students participated in the experiment; all the samples from the participants were considered in the evaluations after prioritizing the requirements through requirements prioritizations techniques.No samples from the participants were blocked.Then all the results collected from the participants were analyzed to produce a generalized result.
Balancing: It would be better to have a balanced data set.But the experimental study is based on a topic of a subject for which participants get registered, therefore it was impossible to know the background of participants and to balance the data set.

6) Instrumentation
The background of the participants in requirements prioritization was found by taking quiz in the beginning.This data provides help in selection of the top participants for the experiment.

7) Validity Evaluation
Validity threats, having four levels, are considered for the experiment [14].Internal validity is mainly concerned with the validity of actual study [14].External validity is focused on the participants who are taking part in the experiment, their background related to requirements prioritization and requirement engineering in general.The conclusion validity is mainly related to the correspondence between the solutions and the results.Construct validity is about giving an overview of results of an experiment followed by theory.www.ijacsa.thesai.org The internal validity inside the course of requirement engineering may not be the problem, greater number of tests (equal to the number of participants in the experiment) make sure the internal validity is good.
While the external threats must ensure that similar results must be obtained when the same experiment is performed by other participants in the same course of requirement engineering.It is harder to generalize the results for other experiments because the students having no background of software engineering will not give good results.As if students from computer science are included as participants in the experiment then there will be a difference in the results.The results from the analysis of experiment can further be generalized to other experiments where the background of the participants is measured in terms of software engineering and computer science.
The main problem to conclusion validity is that how much quality data is collected for the experiment of requirements prioritization?We are comparing with Six requirements prioritization techniques therefore specific data should be gathered to perform better experiment.The incorrect data does not belong to any specific background, therefore the problem is not related to background of participants.Thus conclusion validity is not considered to be that much critical [14].
The threats in construct validity are, that the measures that we have selected for the experiment are good enough to evaluate the requirements prioritization methods.For example whether the number of comparisons for prioritization methods are enough for the evaluation.
The results from the evaluation of prioritization of requirements techniques are likely to be used for other experiments in the area of software engineering where the backgrounds of the participants are considered from software engineering and computer science.

C. Operation 1) Preparation
To all subjects (participants) lecture was delivered on requirements prioritization techniques as ANP, binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort, were included in the experiment.Helping materials related to requirements prioritization techniques were handed over to subjects.The case study of Mobilink franchise computerization was used.Mobilink franchise system was described to all subjects.It was easily understood by all the participants because all subjects were familiar with Mobilink franchise computerization system.This is a local project, therefore the clients are easily available to discuss requirement.Project description is given below.
Introduction to Mobilink : Mobilink is Pakistan's leading cellular and Blackberry service provider.With more than 35 million subscribers, Mobilink maintains market leadership through cutting-edge, integrated technology, the strongest brands and the largest portfolio of value added services in the industry.It is a broadband carrier division providing next generation internet technology as well as the country's largest voice and data network with over 8,500 cell sites.Mobilink offers both postpaid (Indigo) and prepaid (JAZZ and JAZBA) solutions to the customers.Compared to competitors, both the postpaid (Indigo) and prepaid (JAZZ) brands are the largest brands of their kind in the Pakistan cellular industry.
Franchise: Franchise is customer dealing office in which Mobilink representatives deal with their clients.Mobilink has many franchises in Pakistan; in every franchise there is a stock of subscriber identity module (SIM), scratch cards and OTTAR, which is a business name for easy load.Franchise also provides facility of blocking, renewal and purchasing SIMS.
Summary of Proposed System: Current system of the franchise was manually operated system.Owner needs to automate the manual system in order to make the system more dynamic.Current system consists five main modules which are jazz CDs or SIMs stock, jazz load or OTTAR, jazz cards, cash incoming and expenses.
The proposed system is related to franchise business as there is a stock of Jazz CDs (SIMs) in franchise.Every franchise has salesmen (DOs) which sell the SIMs to customers directly and to other mobile shops.Different types of SIMs are available according to the prices.DOs have specific percentage on the selling of SIMs.System also provides facility of replacing the old SIM with new SIM and blocking any SIM to Mobilink users.
Another module of the system is about easy load.First of all franchise demands balance from the company to their master SIM then DOs sell the load to different mobile shops and to customers directly.DOs have specific commission on selling the load.
There is a stock of jazz recharge cards in franchise.Again the DOs sell the cards to customers and to other mobile shops.On selling the cards a defined commission is given to DOs.
There is a module of cash incoming that is how much sell is done in a single month?, what is the total percentage of each DOs, bank transaction with the company and how much profit done by the company in a specific month?How much sale was done of cards, SIMs and easy load each month?Lastly there is an expense module, where the calculations of all expenses in a month, like electricity bills, telephone bills, guest expenses and miscellaneous expenses are carried out.The net total income is calculate the by separating expenses from total sell.Daily and monthly sell reports are prepared.

MAIN UNITS
The manual Franchise system comprises the following five units…  Therefore the profit and loss are calculated at the end of month.
b) Jazz load/OTTAR  The available number of salesman/DOs is 1-6, keeping this entity also dynamic.
 Basically the company transfers Rupees to the Master SIM then given to DO'S to work on it.
 Following points are important in JAZZLOAD.
 How many loads are issued to the DOs?
 How much is sold?
 How many are remaining with the DOs.
 This remaining amount in the form of jazz load is the opening stock for the next day.
 The criteria of profit on RS.100 is 4%, if the load is RS.97 then the profit is 3% and on the 97% the profit is 1%.
 4% is divided such that DOs get only 3% and the remaining is reserved for the manager or head of JAZZLOAD.
 Therefore the profit and loss are calculated at the end of month.
c) Jazz cards  The JazzCards are also called the Scratched cards.
 At the start of the opening stock the number of available cards is noted.
 Cards of Rs. 100, 300,600 & 1000 are issued to DOs and the date is noted by DOs.
 How many cards are issued?
 How many of them are sold?
 How many cards are remaining?
 The peak price offered by the company is Rs.96.75.
 The DOs sale them at Rs. 97, at profit 0.25%.
 In this profit, the DOs commission is 0.25% and the 0.5% is for company.
 If DOs sale them at Rs.96.75 (peak price) then 0.25% loss occurs to company but actually this is not the loss because it is recovered by the DOs.
 If it is not sold on Rs.96.75 which is the peak price then there is no gain and no loss in the case.
 The profit and loss are calculated at the end of month.

d) Cah incoming It includes the following requirements.
 It is the total amount at the end of the month.It includes the Deposited date, Amount, cheque number, bank name and cheque date.
 The original amount + Profit are added together.
 Income of the company, DOs Total and all the commission records should be stored in a proper manner, so that it can be maintained at the end of every month.
 How much loss and net income are occurred?
 The record of the JazzCD, JazzLoad and Expenses is also kept.

e) Expenses It includes the following requirements.
 Utility bills. Maintenance.

 Others (Guests).
 Rent of the building. Staff's salary.
 Calculation of profit and loss at the end of month.
To develop quality software, non-functional requirements are also considered.After discussion with customer, interest of the customer in non-functional requirements, Cost, performance, Quality, Reusability, Usability and Security, is noted.In order to develop a quality product, high budget is needed but our client has limited resources therefore within the limited budget a quality software has to be developed.Client needs high performance software with great reusability.Client is willing to upgrade the product in near future, therefore project must be developed with very reusable design and techniques.User demands for easy to use and operate software and with attractive interface.www.ijacsa.thesai.org

Dependency among the Requirements
For scratch cards: The customers must have SIM then he/she can load different types of cards to his/her SIM e.g. of Rs.100, 300 or 1000 etc where cards will be available in franchise or with dealers.Franchiser will get cards from company.
For load (jazz Load): The customers must have SIM.First of all manager will get balance from company in his master SIM then it is transferred to the salesman (DO) SIM.After that DO transfers balance to shopkeepers (dealers) and dealer transfers balance to the customer SIM.
Easy Load: If loading cards are not available then the easy load is very beneficial in this case.If a customer wants to load only 40, 50 rupees then in this case the loading cards are not useful because mobile cards are available in multiples of 100 rupees.
Easy Load to Customer: Loading balance to customers through easy load depends on balance in master SIM balance.If there is no load in Master SIM then they can't do load to customers.
Master SIM: Master SIM of franchise depends upon Company as it is loaded from company, if there is no balance in master SIM then it can't load customer SIM.
Opening Stock: As for each new day there should be an opening stock if it is not available the owner of the franchise system should demand it from company and if the opening stock is available it should be added to the opening stock for next day.
Daily Summary: Daily summary depends upon selling of SIMs, Load or Cards.
Monthly Sale Report: Monthly Sale report depends upon everyday sale of SIMs, Load or Cards.
Salesman Salary: Salesman salary depends upon sell.The more salesman sales SIM, Cards, Easy Load the more salesman get the salary.
Net Profit: Net Profit for the Franchise in any month depends upon the total sale and expanses made throughout the month.Therefore after subtracting expanses from total sale the Net Profit can be calculated.
The non-functional requirements are interdependent and also dependent on functional requirements.Non-functional attributes can be applied to a single requirement as well as to a whole project.
The cost increases with the production or development of a quality product.
To ensure best security the cost will increase.
Reusability can affect performance.Achieving usability will increase cost.

Glossary:
DO: DO is the business name of salesman.
OTTAR: OTTAR is the business name of loading balance from dealer SIM to the customer's SIM like easy load.CD: CD is the business name of SIM (subscriber identification module) Hypothesis of experiment were introduced to subjects during the lecture.Subjects were aware of the hypothesis of experiment.
Karlsson et al [5] experiment was distributed amongst the participants.This article was based on an experiment.

2) Execution
Experiment took two (2) weeks to complete.Karlsson et al [5] article was distributed among the subjects.After that an introductory lecture was given to participants on Karlsson et al [5] article as well as introduction of hypothesis to subjects.Karlsson et al [5] has compared six (6) requirements prioritization methods (binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort) in their experiment, participants were introduced to these six (6) requirements prioritization methods.Each participants took a week to read and understand the Karlsson et al [5] article.After one week all the participants were gathered in a class room and a lecture was delivered on all seven (7) requirements prioritization techniques (binary search tree, AHP, hierarchy AHP, spanning tree matrix, Priority group and bubble sort) including the new proposed requirements prioritization method ANP.On each prioritization method an example was carried out so that participants can easily understand the process of requirements prioritization.Now participants knew hypothesis, had understood requirements prioritization methods and requirements were also clear to them.Three (3) hours' time was given to participants to perform the experiment.All the participants returned the results according to hypothesis after performing the experiment

3) Data Validation
After performing the experiment, data was collected from all the seven participants.Data collected from participants was evaluated and analyzed.All the data collected, was considered for the analysis and evaluation, no data was dropped.Before going for actual experiment a test was taken from 30 students in the subject of requirement engineering.The topic to cover in the quiz was requirement prioritization.After collecting the quiz from the students, it was checked and evaluated and top seven students were selected as participants for the experiment on the basis of highest marks and their interest in the experiment.

D. Analysis and Interpretation 1) Descriptive Statistics
Industry/market analysis for the requirements prioritization methods is not included.Therefore descriptive statistics were not applied in our experiment.Parameters or measures used in experiment for the evaluation of requirements prioritization methods are likely to be measured by the participants themselves.Data set for the experiment was not too huge, as www.ijacsa.thesai.orgonly seven participants were included in the experiment which could be easily handled.Therefore this part of the experiment will be calculated statistically in future.2) Data Reduction Data reduction is an important part of experiment.The hypothesis of experiment was known to participants at the beginning of experiment.Also requirements that were going to be prioritized by requirements prioritization methods, were also described to them at the beginning.Dependency amongst functional requirements and non-functional requirements were also described before the beginning of experiment.
All the results from the participants were collected.Detailed analysis was done to calculate the final results.
All the results from the seven participants were valid and the individual results were considered in calculating final results.As data set was not huge therefore no data was excluded from the experiment.
After analysis of all the data collected from the participants, a generalized result was calculated which is discussed in the hypothesis.

3) Hypothesis Testing
First, hypothesis was whether requirements prioritization methods prioritize dependent or independent requirements or not?Each participant prioritized the described requirements on each prioritization method.Some information regarding this hypothesis was taken from literature, which was provided to participants while studying requirements prioritization techniques.Results are shown in Table I.Now consider hypothesis 3 and 4, which were related to reliable results and less chance of errors while prioritizing software requirements.To prove hypothesis 3 and 4, three parameters/measures were evaluated against requirements prioritization techniques: ease of use, reliability of results and fault tolerance.To measure the hypothesis a scale was used from 1 to 6, where 1 represents highest value and 6 represents lowest value.Results are shown in Table II.
As it is known from the table, for the ease of use measures ANP gets 4 which means bit hard to use, and Bubble sort is the easiest method to use.In case of reliability and fault tolerance ANP gets maximum marks of 1, which means ANP produce most reliable result with less chance of error or errors can be identified easily.Now consider hypothesis 2, which is related to performance of requirements prioritization methods, again three (3) parameter/measures were evaluated to prove the performance of requirements prioritization methods.Again a scale of 1 to 6 was used to measure the hypothesis.Number of decisions needed to complete requirements prioritization are taken from literature while studying each requirements prioritization method.Each requirements prioritization technique has separate formula to calculate required numbers of comparisons.Details are shown in Table III.

IV. ADVANTANGES AND DISADVANTAGES/LIMITATION OF ANP
Below are the advantages and disadvantages of ANP derived from literature and current research.V.

APPLICATIONS OF ANP
ANP have a lot of applications almost in every field.ANP is derived from Analytic Hierarchy Process (AHP) with the additional feature of considering interdependencies amongst the criteria and alternatives.ANP is heavily used in multicriteria decision analysis.ANP has been applied in many applications of social sciences where prioritization is needed.ANP is apparently new field in software engineering.AHP is very heavily used in software engineering domains but now ANP is taking over AHP.ANP is applied by Shah Nazir [20] in software design phase to select suitable software component based on quality criteria.ANP is best suited for weight comparison also it is very influential when dealing complex network in decision making [23].Babu et al also applied ANP in selection of architecture styles to optimize software architecture.[24].ANP is applied by A.K Pandey et al in software testing phase in order to estimate the quality of software components [25].
The Proposed method is applied on Mobilink Franchise System, similarly it can be applied to any other case study of software engineering projects where interdependences exists amongst requirements.itcan be noticed from the literature that ANP has been applied in different fields of software engineering.
ANP has started to be applied in the field of requirement prioritization of requirement engineering.Still there is lack of paper presentation in field of requirement and software engineering.

VI. CONCLUSION AND FUTURE WORK
The study of Requirements prioritization techniques (binary search tree, AHP, hierarchy AHP, spanning tree matrix, Priority group and bubble sort) was carried out and the problems and limitations in these techniques, while prioritizing requirements, were noted.Some problems and limitations in requirements prioritization techniques were www.ijacsa.thesai.orgidentified.It is known that none of the requirements prioritization techniques prioritize dependent requirements and performance of requirements prioritization techniques is not good.The main problems are the delivery of reliable and fault tolerant results.Therefore the need of alternate technique of requirements prioritization, which can prioritize both dependent and independent requirements, was felt.Therefore new technique for prioritizing dependent and independent requirements is developed that is known as ANP.Steps of ANP are explained in details.The dependency amongst requirements is considered when requirements are prioritized with ANP due to which priority of interdependent requirements is calculated.It means that ANP prioritizes independent and dependent requirements.
An experiment was conducted to evaluate the performance of newly proposed requirements prioritization technique against existing requirements prioritization techniques (binary search tree, AHP, hierarchy AHP, spanning tree matrix, priority group and bubble sort).Experiment proves that main advantage of ANP is the prioritization of dependent requirements.The prioritization process of ANP is complex because a greater number of decisions is required for the completion of prioritization process.Reliable and fault tolerant results are the core characteristics of ANP.
Studies identify that more research and hard work is needed in the field of requirements prioritization to improve the performance of ANP.To deploy ANP to industry, is the core objective of future work.ANP will be used in some industrial projects of software engineering and hence its Performance will be evaluated.A user friendly tool will be developed so that users and requirements engineers can easily use it to prioritize requirements by ANP.

Fig. 1 .
Fig.1.Scale used for the pairwise comparison in AHP[13] It means the number of SIMs that are available i.e. the opening STOCK which is demanded by the Shah Noor company from the FRANCHISE.The Commission rate on the basis of sailing SIM/CD is 5% for the DOs.It is also a dynamic rate because some DOs are on fixed pay and some are not.

TABLE IV .
ADVANTAGES AND DISADVANTAGES OF ANP