omponent Based Development (CBD) relies on reusable COTS components to build the software systems. Before integrating the components into the system, the components should be quantified according to the non-functional and functional requirements.
With the rapid growing and changing of technology, number of products or tools entering in the market also increases. So it becomes a big challenge to select the best component from a number of alternative components and to build a trust on the selected components.
Component selection and evaluation is a multi criteria problem in which a component from various alternatives is to be selected which best satisfies the maximum criteria than others. A chosen option should have greater rank on all criteria than others.
COTS-Aware Requirements Engineering and Software Architecting (CARE/SA) proposed by Lawrence [8] for evaluating, matching and selecting of COTS components. CARE/SA method uses the architectural aspects, functional aspects and non-functional aspects of COTS components. It indicates that each component is represented by the unique attributes which consists of its architectural, functional and non-functional aspects.
Hamdy Ibrahim et al. in [7] proposed a method named 'UnHOS' (Uncertainty Handling in COTS Selection) method for the evaluation of COTS components and takes into account their uncertainty. It uses Analytic Hierarchy Process (AHP) for the evaluation of COTS components and Bayesian Belief Network (BBN) to indicate their uncertainty. It also presents a tool to support the usability of the UnHOS method.
Anil Jadhav et al. in [3] tells that Multi Criteria Decision Making Methods helps the decision makers to solve the problem of selection and evaluation of software components in which problem is defined as a collection of multiple criteria that needs to be taken into account. It gives the overview of Multi Criteria Decision Making Methods like: Analytic Hierarchy Process (AHP), Weighted Scoring Method (WSM) and Hybrid Knowledge Based System (HKBS). It compares the three approaches and concludes that HKBS is better than AHP and WSM.
Various methods can be used as a solution of this problem like OSTO [2], CARE [8], AHP [3], WSM [3], Utility Theory [1], SMART [1], DesCOTS [9], UnHOS [7] etc. Multi Criteria Decision Analysis methods help the decision maker to select the best option from number of multi criteria alternatives which best scores on multiple criteria. PROMETHEE is a multi criteria method proposed by JP Brans in 1982 [6]. It can be applied for the analysis and selection of components and solutions in various kinds of fields like Banking, Industrial Location, Manpower planning, Water resources, Investments, Medicine, Chemistry, Health care, Tourism, Ethics in OR, Dynamic management [6]. It can be applied to selection and evaluation of COTS components while making the decision to select components from repository to develop the software system. The aim of this paper is to apply PROMETHEE on the selection and evaluation of software packages and its benefits over others multi criteria methods.
Arvinder Kaur et al. in [2] provide a brief overview of the evolutionary techniques. It also derives a hierarchical decomposition method to draw goals from that impact factors. It introduces OSTO method for the selection of software components which compares the scores and cost associated to each alternative and their relative comparison. It introduces various factors in the selection of reusable software components. It also presents the evaluation criteria based on various classifications as functional requirements, product quality attributes, strategic concerns and architecture and domain compatibility. It gives the result of two case studies using OSTO method. The component which have good quality assurance score is selected for consideration.
Multi criteria problem involves the selection of the best option from a number of alternatives on the basis of multiple criteria satisfaction with higher degree. As component selection is a multi-criteria problem, there are number of alternatives for the solution of problem and we have to select a candidate component which best suits for the solution on the basis of satisfying maximum criteria than others with higher degree. So problem can be formulated as: max {c 1 an,c 2 an??ckan|a n ?A}.
Let A= {a 1 , a 2 , a 3 ??????..a n } be the set of 'n' alternatives for the solution of the problem. C= {c 1 , c 2 , c 3 ???????c k } be the set of 'k' criteria as a basis of evaluation and selection. Let w 1 ,w 2 ,w 3 ???w k be the weight of each criterion respectively.
Each multi criteria decision analysis method proceeds with the decision table. Decision Table is shown in Table 1. Each column denotes the criteria, each row denotes the alternatives and 'ckan' represents the score of alternative 'n' on criterion 'k'.
There is need to have a method which is simpler and better helps in decision making while obtaining the solution of multi objective selection of trusted components from the number of available alternatives. As COTS components selection is a multicriteria problem. PROMPTHEE solves the problem in an optimal way with additional benefits than other MCDA methods.
PROMETHEE is Preference Ranking Organisation Method for Enrichment Evaluation. PROMETHEE is a multi criteria decision analysis method. It is an outranking method based on pair wise comparison of alternatives. It was developed by JP Brans in 1982 [6]. Originally it was developed as PROMETHEE-1 (partial ranking) and PROMETHEE-2 (complete ranking).Later PROMETHEE-3 (ranking based on intervals) and PROMETHEE-4 (continuous case) were developed. PROMETHEE-5 (MCDA includes segmentation constraints) and PROMETHEE-6 (represents human brain) are also there. PROMETHEE is based on mathematical properties [6]. It can be applied on various fields for the selection and evaluation of winning solution in a multi criteria problem.
Steps for solving multi criteria problem with this method is as follows: 1. Determination of available alternatives to solve the problem.
Let A= {a 1 , a 2 , a 3 ??????..a n } be the set of 'n' alternatives for the solution of the problem. Where VG, G, A, B, VB stands for very good, good, average, bad, very bad. Score for each grade is as in table 2. For C4; q=100 Relative difference between alternatives on each criterion is shown in tables 4, 5, 6, 7 and 8. Table 4 : Difference between alternatives with respect to performance
d 1 (a,b) A1 A2 A3 A4 A5 A1 0 1 -2 -1 -1 A2 -1 0 -3 -2 -2 A3 2 3 0 1 1 A4 1 2 -1 0 0 A5 1 2 -1 0 0Table 5 : Difference between alternatives with respect to reliability Table 6 : Difference between alternatives with respect to maintainability
d 3 (a,b) A1 A2 A3 A4 A5 A1 0 1 -1 1 2 A2 -1 0 -2 0 1 A3 1 2 0 2 3 A4 -1 0 -2 0 1 A5 -2 -1 -3 -1 0Table 7 : Difference between alternatives with respect to cost Table 8 : Difference between alternatives with respect to integrability A1
0 1 2 3 4 A2 -1 0 1 2 3 A3 -2 -1 0 1 2 A4 -3 -2 -1 0 1 A5 -4 -3 -2 -1 0Preference function value of each alternative over other on all criteria is shown in table 9, 10, 11, 12 and 13. Profile of alternative A1 on all criteria is shown in figure 6. Profile of alternative A4 on all criteria is shown in figure 9. Ranking of all alternatives on all criteria is shown in figure 11. IV.
Component selection is a wide comparison of components using a common set of criteria. Selecting the appropriate and relevant component significantly reduces the chances of risks associated with the COTS components with no source code available with them and improves the corporate competitiveness. Using PROMETHEE-GAIA methodology for the complete ranking of alternatives help decision makers to choose and analyse the highest rank component on all criteria and help to build confidence on the selected component.
Grade VG | G | A | B | VB | |
Score | 5 | 4 | 3 | 2 | 1 |
Evaluation table is shown in table 3. | |||||
Table 3 : Evaluation table | |||||
C1 | C2 | C3 | C4 | C5 | |
0.3 | 0.2 | 0.1 | 0.2 | 0.2 | |
A1 | 3 | 2 | 4 | 1000 | 5 |
A2 | 2 | 1 | 3 | 1200 | 4 |
Table 14 : Degree of preference ?(a,b) | |||||
? (a,b) | A1 | A2 | A3 | A4 | A5 |
A1 | 0 | .20 | .10 | .30 | .15 |
A2 | 0 | 0 | 0 | .30 | .10 |
A3 | .15 | .40 | 0 | .05 | .35 |
A4 | 0 | .35 | 0 | 0 | 0 |
A5 | 0 | .15 | 0 | .20 | 0 |
Positive, negative and net outrank flow of each alternative is shown in table 15. |
Analytical Hierarchy Process and PROMETHEE application in measuring object oriented software quality. InAdvanced Computer Science and Information System (ICACSIS. 2011 International Conference on, 2011. December. IEEE. p. .
Weighted Scoring Method (WSM), and Hybrid Knowledge Based System (HKBS) for Software Selection: A Comparative Study. Emerging Trends in Engineering and Technology (ICETET), 2009. 2009. IEEE. p. . (2nd International Conference on)
Component Selection for Component-Based Software Engineering. International Journal of Computer Applications 2010. 2 (1) p. .
Improving decision support for software component selection through systematic cross-referencing and analysis of multiple decision criteria. 46th Hawaii International Conference on, 2013. January. 2013. IEEE. p. . (System Sciences (HICSS))
DesCOTS: a software system for selecting COTS components. Euromicro Conference, 2004. August. 2004. IEEE. p. . (Proceedings. 30th)
UnHOS: A Method for Uncertainty Handling in Commercial Off-The-Shelf (COTS) Selection. International Journal of Energy, Information & Communications 2011. 2 (3) .
A Review of Negotiation Techniques in Component Based Software Engineering. Software Engineering and Advanced Applications, 2006. SEAA'06. 32nd EUROMICRO Conference on, 2006. August. IEEE. p. .
COTS-Aware Requirements Engineering and Software Architecting. Software Engineering Research and Practice, 2004. p. .