Selection of Component in Component Based Software Development using Analytical Network Process

DOI : 10.17577/IJERTCONV2IS03036

Download Full-Text PDF Cite this Publication

Text Only Version

Selection of Component in Component Based Software Development using Analytical Network Process

ISSN: 2278-0181

ETRASCT' 14 Conference Proceedings

Selection of Component in Component Based Software Development using Analytical Network Process

Mahima Gupta

Research Scholar Department of Software Engineering

Poornima College of Engineering Jaipur, India

Mr. D.K. Somwanshi Associate Professor

Department of Electrical Engineering Poornima College of Engineering Jaipur, India

Abstract: Software companies are developing interest in making product that is reliable, need short development time and cost effective which moves them toward Component Based Development. In Component Based Development the selection of component is the most crucial part due to its Black-Box nature. Many researches have been done in this field but they have their shortcomings like inadequate address of Non- functional requirements, use of Hierarchical Process, no learning from previous selection, no practical implementation. This paper presents the Component selection method using Analytical Network Process and its implementation for the selection of a component namely Payment Gateway for a commercial website. It not only makes the process automatic but also allows us to give preference to particular specification depending upon our situation and make the decision accordingly.

Keywords: Component Based Software Development (CBSD), Component Based Software Engineering (CBSE), Selection of Component, Analytical Network Process


Software Industries are witnessing expansion in their business in everyday life. Software is becoming the key factor for success even in traditionally non-software areas. The software companies are moving towards Component Based Software Development (CBSD)[12]. CBSD not only promises efficient and effective reuse of software component but also increases reliability and quality because the component is already tested by the vendor [12].It reduces the challenges like cost, unsatisfying requirements, and delayed schedules which occur due to the increasing complexity of software and adaptability to change [7].

Component based software development approach is based on the idea to develop software systems by selecting appropriate off-the-shelf components and then to assemble them with well-defined software architecture [15].These components are commonly named as COTS (Commercial- Off-the-shelf) Software Component. COTS Software Component are generally licenced or sold which does not include source code [10]. COTS Software Component can be connected with main software with the help of Glue- Code. The Glue-Code can be API (Application Programming Interface), DLL (Dynamic Link Libraries) or any executable file [9]. Companies are going with COTS

Software Components rather than developing the complete software on their own [1].

It looks very promising to use COTS but it also introduces new problems and risk. The major risk is selection of COTS upon which the entire software depends [9].The wrong selection may cause increased time to implement and additional costs and can also lead to failure of main software. For example, the COTS Software Component is made for different organisations and we have limited access to the internal design, it is possible that higher version has certain issues. The evaluation and selection of COTS software Component is still performed using ad-hoc manners in most organisations, such as depending on the experiences of developer team or their intuition, or depending on the relationship with particular vendor[7]. Therefore, lack in systematic, repeatable, and well-defined process for evaluating and selecting COTS software in the industry keeps the organizations under the pressure. Furthermore, the development team has lack of experiences to plan for the selection process in detail. Even though many methods have been proposed to evaluate and select COTS Software Component but still there are certain problems and issues that are not being considered.


For the selection of COTS Software Components there is no commonly accepted or standard method [5]. The COTS selection is the complex decision making problem and has become a challenge for software development industry due to the following reason:

  1. Non Functional Requirements

    While selecting the COTS Software Component, experts analyse the functionality of the Component but Non-functional requirements have always been neglected [11]. It is important to identify the quality of Component which includes reliability, flexibility, usability etc.

  2. The lack of learning from previous methods[2] The previous information that can be used:

    1. Previous Software Components Chosen

    2. Successful criteria and techniques

      4) Hierarchical Decision Making

      ISSN: 2278-0181

    3. Information about Vendor

  3. Iterative Learning

Iteration means the act of repeating process in order to reach the desired goal. The Selection of Component method should be iterative one[13].

ETRASCT' 14 Conference Proceedings

The hierarchical decision making decompose the problems into different hierarchy and the bottom hierarchy depends upon the top one. The top elements cannot be affected by the bottom so there is a need of network between different criteria and elements.

  1. Problems in previous methods.


    Method Name


    Shortcoming [2,3,5,23]

    OTSO [16]


    Assumes requirements, Does not support Multiple Selection, and does not handle mismatches. Use of AHP.

    IusWare [17]


    Same CF value for all vendors. Assumes requirements, Does not support Multiple Selection, and does not handle mismatches. Use AHP.

    PRISM [5]


    Generic Architecture, Assumes requirements, Does not support Multiple Selection, does not handle mismatches.

    CISD [20]


    Assumes requirements, does not handle mismatches.

    PORE [13]


    Does not support Multiple Selection, Use of AHP, laborious, when to stop requirement acquisition



    Same CF value, Assumes requirements, Does not support Multiple Selection, does not handle mismatches. Use AHP.

    STACE [19]


    Does not support Multiple Selection, does not handle mismatches. Use AHP, require more efforts

    CRE [10]


    Does not support Multiple Selection, does not handle mismatches. Use AHP, NFR add extra effort



    Assumes requirements, Does not support Multiple Selection, do not handle mismatches. Use AHP.

    CARE [5]


    Not clear how to define requirements, No process that identify the influence the mismatch and handle mismatch

    PECA [5]


    No clear guideline on how to tailor, Does not support Multiple Selection, does not handle mismatches.

    BAREMO [21]


    Assumes requirements, Does not support Multiple Selection, and does ot handle mismatches. Use AHP.

    Combined Selection Approach [5]


    Does not handle mismatches, NFR not addressed, no formal evaluation process

    WinWin Approach [22]


    No formal process to give multiple COTS selection, handle risk of mismatches but does not tells how to handle it.

    DesCOTS [8]


    Does not handle mismatches, does not handle multiple COTS selection

    MiHOS [6]


    does not handle multiple COTS selection, does not address quality requirement

    Repository [2]


    Maintaining and updating the repository, manual maintenance

    GAP Analysis [3]


    No formal process to give multiple COTS selection

    The state of Art [2]


    Basically gives framework.


    The COTS evaluation and selection is a crucial part of CBSE. Here we present a solution using Analytical Network Process (ANP). It consists of 5 steps:

    1. Searching of Components

    2. Filter Components

    3. Evaluation Criteria

      1. Creating Baseline and High Preference

      2. Functional Requirement

      3. Non-functional Requirement

    4. Getting Weights and Apply ANP

    5. Analyse and Final Decision using ANP

Getting Weights for ANP

Evaluation Criteria

Filter Components

Searching of Components

Analyse anISdSNFi:n2a27l 8-0181 ETRASCT' 14 DCoencfiesrieonnce Proceedings

Creating Baseline and High Preference

Getting Functional Requirements

Getting Non Functional Requirements


Fig. 1 Flow Diagram of the propose Model


Step 1: Searching of Component

This process attempts to identify and find all the potential candidates [16]. The search process is driven by the evaluation criteria defined. The alternatives should have the information related to name, source (name and address of company or website) and main characteristics and features. One can get the alternatives from In-house Libraries, Internet, Advertisements in Magazines, Trade Shows, Popular Vendors or others.

Step 2: Filter Component

This step is to filter the components according to the requirements. The result of this step should shortlist the most promising COTS candidates which are to be evaluated in detail. This can be done by using Survey, Interview or Questionnaire. Here the components are shortlisted on the basis of customers reviews that are people who have used it.

Step 3: Evaluation Criteria

  1. Creating Baseline and High Preference

    A baseline is defined as set of characteristics that each alternative must meet or exceed. It can be considered as minimum needed functionality. On the other hand high preference is the maximum functionality needed. If the components characteristics exceed the high preference it should not create any problem [16].

  2. Functional Requirement

    Functional requirement is what system is supposed to accomplish. We have left with 4 payment gateways. Respondents were asked to select the best among the functional criteria.

  3. Non-functional Requirement

    A non-functional requirement is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours. They are often called Quality of the system. Respondents were asked to select the best among the non-functional criteria.

    Step 4: Getting Weights and Applying ANP

    The Analytical Network Process (ANP) is a decision making process [14]. It is generalization of Analytical Hierarchy Process (AHP). It can model complex decision making problem and allows loops and feedback connections. In Hierarchy process pair wise comparison of Criteria and Sub criteria is done. It is top down structure from the overall objective to criteria, criteria to sub criteria down to alternatives [14].

    In ANP criteria, sub criteria and alternatives are treated equally as node and each node can be compared to any other node. So here, the ranking of alternative not only depends upon the weighing of criteria but alternatives can also influence the ranking of criteria [14].

    Steps of ANP:

    1. Model Construction and Problem Formation Initially we get Goal of our problem that is what we want to achieve in the end, the criteria and/or sub- criteria which are to be taken care in achieving Goal and Alternatives that is the possible selections we have. The Criteria and Alternatives are represented as Elements or Nodes in ANP. Here we get the control hierarchy which consists of network relationship between goal, criteria and sub-criteria. Next we get the network hierarchy that is the relationship between elements and clusters which is the interdependence (both inner and outer dependence) and feedback among clusters and elements.

    2. We then divide our problem into clusters. Clusters are the group of criteria/sub-criteria with common characteristics.

    3. Getting Influence Matrix

      We get influence matrix which consist of all the nodes or elements horizontally and vertically. The element in the matrix is 1 if column header node influence row header node else it is 0.

      Initially we built a normalised Pairwise

      ISSN: 2278-0181

      Comparison Matrix.

      ETRASCT' 14 Conference Proceedings

      a11 a12

      A = a21 a22


      an1 an2





      Where a =




      For i,j = 1,2..n

      Fig. 2 Influence Matrix

    4. Pairwise Comparison Matrix

      Perform paired comparisons on the clusters as they




      Here A1 is Normalised Pairwise Comparison Matrix Calculate W = AW where W is the Eigen Vector

      influence each cluster and on those that it influences,

      1 w1



      with respect to that criterion. We get pairwise

      + + .. +

      comparison matrix that is the 1 in the influence matrix is replaced by weights according to Saaty Scale [13]

      max =

      n w1 w2 wn

      that is how much the first element influence second. Zero is assigned where there is no influence. Pairwise comparison is again performed on the elements within the clusters themselves according to their influence on each element in another cluster they are connected to

      max is the largest Eigen Value of the Pairwise

      Comparison Matrix

      Calculate Consistency Ratio (CR) and Consistency Index (CI).

      (or elements in their own cluster). The weights can also be assigned with the help of Questionnaire, Surveys or Expert Opinion. A is the pairwise Comparison Matrix.

      CR =


      Random Index (RI)

      CI =

      – n



      a11 a12 a1n

      Random Index (RI) is given by Satty [13]. If CR

      A = a21

      a22 a2n

      <= 0.1 then evaluation process satisfies the consistency else we will be having conflicting


      a a

      n1 n2 mn

      n is the order of matrix

    5. Calculate principal Eigen Vectors and Eigen Values



g) Formation of Super matrix

Super Matrix is formed which consist of all nodes horizontally and vertically. The super matrix lists down all the sub-matrixes consisting of all the clusters and necessary elements in order on the left and upper sides of the matrix, where each matrix segment represents a relationship between two nodes (components or clusters) in a system. The element in the matrix represents weights from node of column header to node of rowheader.



W = 2




Where w =

i n









Where w = Eigen Value (Weights)


n = No. of Criteria

Here W is Eigen Vector

  1. Consistency Check

    Fig. 3 Super Matrix

    1. Tom Wanyama, Behrouz H. Far

      ISSN: 2278-0181

      An Empirical Study to

      Make the aggregate of column vectors of Super Matrix to 1 and get weighted Super Matrix. The weighted Super Matrix is taken to the power of k+1, where k is an arbitrary number , to get Limit Matrix.

      h) The control hierarchy may or may be of more than one layer. Generally the two layers BOCR model is made that is Benefit, Opportunities, Cost and Risk. The evaluation Formula can be:

      (B*O)/(C*R) or (1)

      (B+O)-(C+R) (2)

      Step 5: Analyse and Final Decision

      The Limit Super Matrix itself gives us the result regarding which component is best suitable for us. We also get the result according to the different criteria. The final decision is taken by the decision making authority.


      This paper illustrated the selection process of component in Component Based Software Development. This research presents the model based on Analytical Network Process for decision making. It eliminates the shortcomings of previous methods like use of hierarchical process, ignorance of non- functional requirements, mismatch handling etc. Unlike other approaches it emphasis on functional requirements, non-functional requirements, Cost and risk involved. The model is based on to select the component which fulfils all the functional and non-functional requirements, reduces risk of using and has minimum cost. It is worth noting that this process is cost effective, automatic and also consumes less time. It gives multiple component selection option and sensitivity and preference (priority) can be given to any criteria.

      However as the limitation of this process the decision of large COTS using ANP becomes a complex task and filter process is necessary to use. In terms of future work it is necessary to automatize the process completely and it should support large COTS.

      Compare Three Methods For SeleEcTtiRnAgSCCTot' s14SCooftnwfearernece Proceedings Components, International Journal of Computing and ICT Research, Vol. 2, No. 1, pp. 34 46, June 2008.

    2. Abdallah Mohamed, Guenther Ruhe, Armin Eberlein COTS Selection: Past, Present, and Future 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems, pp-103-114, March 2007.

    3. Abdallah Mohamed, Guenther Ruhe, Armin Eberlein MiHOS: an approach to support handling the mismatches between system requirements and COTS products, Springer Volume-12, No-3, pp: 127-143, July 2007.

    4. Tom Wanyama, Agnes F. N. Lumala Decision Support for the selection of COTS, IEEE Conference on Electrical and Computer Engineering, Canada, pp: 908-911, May 2005.

    5. Carme Quer, Xavier Franch, Xavier Lopez-Pelegrin DesCOTS-EV: A Tool for the Evaluation of COTS Components 13th IEEE International Conference on Requirements Engineering, pp: 457-458, Aug-Sept 2005.

    6. Ivica Crnkovic Component-based Software Engineering

New Challenges in Software Development, IEEE 25th International Conference on Information Technology Interfaces, pp: 9-18, June-2003.

[10]C. Alves and J. Castro, "CRE: A Systematic Method for COTS Components Selection", SBES'01Rio de Janeiro, Brazil, 2001.

  1. Dukic L. Non-Functional Requirements for COTS Software Components, International Conference of Software Engineering 2000 Workshop on Continuing Collaborations for Successful COTS Development, Linerick, Ireland, June 2000.

  2. Baoming Song A General Model for Component-based Software, A Thesis submitted to the Faculty of Computer Science In Partial Fulfillment of the Requirements for the Degree of Master of Computer Science in Dalhousie University DalTech 2000.


  1. Feras Tarawneh, Fauziah Baharom, Jamaiah Hj. Yahaya and Azida Zainol COTS Software Evaluation and Selection: a pilot Study Based in Jordan Firms, IEEE International Conference on Electrical Engineering and Informatics Bandung, Indonesia, pp. 1-5, July 2011.

  2. Feras Tarawneh, Fauziah Baharom, Jamaiah Hj. Yahaya, Faudziah Ahmad Evaluation and Selection COTS Software Process: The State of the Art, International Journal on New Computer Architecture and their Application, ISSN No: 2220-9085, Vol-2, No-1, 2011.

  3. Jinfang Sheng, Bin Wang Evaluating COTS Components Using Gap Analysis, The 9th IEEE International Conference for Young Computer Scientists Bandung, Indonesia, pp-1248-1253, November 2008.

  1. C. Ncube and N. A. Maiden, "PORE: Procurement- Oriented Requirements Engineering Method for the Component Based Systems Engineering Development Paradigm", International Workshop on Component Based Software Eng., Los Angeles, CA, 1999

  2. Thomas L. Saaty Fundamentals of the Analytic Network Process International Symposium on Analytical Hierarchy Process 1999, Kobe, Japan, August 1999.

  3. Dr. Gilda Pour Moving toward Component-Based Software Development Approach IEEE Proceedings of Technology of Object Oriented Languages, Beijing, and pp: 296-300, September 1998.

  4. Jyrki Kontio OTSO: A Systematic Process for Reusable Software Component Selection, ACM, University of Maryland, MD, USA, December 1995.

  5. M. Morisio and A. Tsoukis, "IusWare: a methodology for the evaluation and selection of software products," IEE Software Engineering vol. 144 (3), June 1997.

  6. B. C. Phillips and S. M. Polen, "Add Decision Analysis to Your COTS Selection Process," The Journal of Defense Software Engineering, April 2002.

  7. M.Ochs, D.Pfahl, G.Chrobok-Diening, and B. Nothhelfer-Kolb, "A COTS Acquisition Process: Definition and Application Experience," ESCOM-COPE'00, Munich, Germany, 2000.

  8. V.Tran & D.Liu,"A Procurement-centric Model for Engineering Component-based Software Systems," SAST '97, 1997, pp.7079.

  9. A. Lozano-Tello and A. Gomez-Pérez, "BAREMO: how to choose the appropriate software component using the analytic hierarchy process," in SEKE'02, Italy, 2002, pp. 781-788.

  10. B.Boehm, D.Port, and Y.Yang,"WinWin Spiral Approach to Developing COTS-Based Applications,"EDSER-5, Oregon, 2003.

  11. Tom Wanyama and Behrouz Homayoun Far Repositories for Cots Selection IEEE Canadian Conference on Electrical and Computer Engineering Ottawa, pp: 2416-2419, May 2006

ISSN: 2278-0181

ETRASCT' 14 Conference Proceedings

Leave a Reply