Abstract
In the process of selecting Commercial Off-The-Shelf (COTS) products, it is inevitable to encounter mismatches between system requirements and COTS products. These mismatches occur as a result of an excess or shortage of the COTS attributes. This paper proposes a decision support approach, called MiHOS (Mismatch Handling for COTS Selection), that aims at addressing COTS mismatches during and after the selection process. MiHOS can be integrated with existing COTS selection methods at two points: (1) For evaluating COTS candidates: MiHOS estimates the anticipated fitness of the candidates if their mismatches are resolved. This helps to base our COTS selection decisions on the fitness that the candidates will eventually have if selected. (2) Mismatch resolution after selecting a COTS product: MiHOS suggests alternative plans for resolving the most appropriate mismatches using suitable actions, such that the most important risk, technical, and resource constraints are met. A case-study is used to illustrate MiHOS and to discuss its added value.
Similar content being viewed by others
Notes
The term “COTS attributes” is used to refer to COTS functionalities and qualifications. These attributes are defined based on COTS vendors’ documentations and based on our understanding for the domain.
More details on ML estimation are documented in a technical report that is available upon request.
Full details of the case study are available upon request.
In most cases, the differences between the anticipated fitness in these plans did not exceed ±1%.
MiHOS-SA is described in a technical report that is available on request.
References
Morisio M, Seaman CB, Parra AT, Basilli VR, Kraft SE, Condon SE (2000) Investigating and improving a COTS-based software development process. In: ICSE’00, Limmerick, Ireland, pp 32–41
CeBASE: center for empirically based software engineering, at http://www.cebase.org
Torchiano M, Morisio M (2004) Overlooked aspects of COTS-based development. IEEE Softw 21(2):88–93
Boehm B, Abts C (1999) COTS integration: plug and pray? Computer 32(1):135–138
Alves C (2003) COTS-based requirements engineering. In: Component-based software quality—methods and techniques, vol 2693. Springer, Heidelberg, pp 21–39
Ruhe G (2003) Intelligent support for selection of COTS products, Web, Web-services, and database systems, lecture notes in computer science, vol 2593. Springer, Heidelberg, pp 34–45
Kontio J (1995) OTSO: a systematic process for reusable software component selection. University of Maryland, Maryland, CS-TR-3478, Dec 1995
Lozano-Tello A, Gomez-Pérez A (2002) BAREMO: how to choose the appropriate software component using the analytic hierarchy process. In: Proceedings of the 14th international conference on software engineering and knowledge engineering, ACM, Ischia, pp 781–788
Ncube C, Maiden N (1999) Guiding parallel requirements acquisition and COTS software selection. In: IEEE international symposium on requirements engineering (RE’99), University of Limerick, Ireland, pp 133–140
Ochs M, Pfahl D, Chrobok-Diening G, Nothhelfer-Kolb B (2000) A COTS acquisition process: definition and application experience. In: ESCOM-SCOPE 2000, Munich, Germany
Rolland C, Prakash N (2001) Matching ERP system functionality to customer requirements. In: The fifth IEEE international symposium on requirements engineering, IEEE Computer Society, Toronto
Zoukar I, Salinesi C (2004) Matching ERP functionalities with the logistic requirements of French railways: a similarity approach. In: The sixth international conference on enterprise information systems (ICEIS’04), Universidade Portucalense, Port0-Portugal, pp 444–450
Carney D (1998) COTS evaluation in the real world. SEI interactive, Carnegie Mellon University, December
Carney D, Hissam SA, Plakosh D (2000) Complex COTS-based software systems: practical steps for their maintenance. J Softw Maint 12(6):357–376
Vigder MR, Gentleman WM, Dean J (1996) COTS software integration: state of the art. National Research Council Canada (NRC), 39198, January 1996
Ruhe G, Ngo-The A (2004) Hybrid intelligence in software release planning. Int J Hybrid Intell Syst 1(2):99–110
Maiden NA, Ncube C (1998) Acquiring COTS software selection requirements. IEEE Softw 15(2):46–56
Franch X, Carvallo JP (2003) Using quality models in software package selection. IEEE Softw 20(1):34–41
Lamsweerde AV (2001) Goal-oriented requirements engineering: a guided tour. In: Fifth IEEE international symposium on requirements engineering, pp 249–263
Alves C, Finkelstein A (2003) Investigating conflicts in COTS decision-making. Int J Softw Eng Knowl Eng 13(5):473–493
Alves C, Franch X, Carvallo JP, Finkelstein A (2005) Using goals and quality models to support the matching analysis during COTS selection. In: The fourth international conference on COTS based software systems (ICCBSS’05), Bilbao, Spain, pp 146–156
Grau G, Carvallo JP, Franch X, Quer C (2004) DesCOTS: a software system for selecting COTS components. In: The 30th EUROMICRO conference, Rennes, France, pp 118–126
I*-homepage: http://www.cs.toronto.edu/km/istar
ISO/IEC1926–1, Software engineering—product quality model—Part 1: quality model, International Organization for Standardization, Geneve, Switzerland
Mohamed A, Ruhe G, Eberlein A (2006) A basis for mismatch handling during OTS acquisition. SEDS Lab, UofC, Calgary, TR, 056/2006, July 2006, http://www.enel.ucalgary.ca/∼asamoham/SEDS/TR056-2006-Short.pdf
Carney D (1999) Requirements and COTS-based systems: a thorny question indeed. In: SEI interactive, Carnegie Mellon University, June 1999
Brownsword L, Carney D, Oberndorf T (1998) The opportunities and complexities of applying commercial off-the-shelf components. CrossTalk 11(4):25–30
LINDO_Systems-homepage: http://www.lindo.com
Li J, Ruhe G, Al-Emran A, Richter M (2006) A flexible method for effort estimation by analogy. Empir Softw Eng. (doi: 10.1007/s10664-006-7552-4)
Humphrey WS (1989) Managing the software process, 1st edn. Addison-Wesley, Reading
Ruhe G, Saliu MO (2005) The art and science of software release planning. IEEE Softw 22(6):47–53
Wolsey LA, Nemhauser GL (1998) Integer and combinatorial optimization. Wiley, New York
Comella-Dorda S, Dean JC, Lewis G, Morris E, Oberndorf P, Harper E, A (2004) Process for COTS software product evaluation. Carnegie Mellon University, Software Engineering Institute, CMU/SEI-2003-TR-017, July 2004, http://www.springerlink.com/index/MAFK2LV46922UW45
Saaty TL (1990) The analytic hierarchy process. McGraw-Hill, New York
Du G, McElroy J, Ruhe G (2006) Ad hoc versus systematic planning of software releases—a three-staged experiment. In: Seventh international conference on product focused software process improvement (PROFES06), Amsterdam
Acknowledgments
We appreciate the support of the Natural Sciences and Engineering Council of Canada (NSERC) and of the Alberta Informatics Circle of Research Excellence (iCORE) to conduct this research.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix 1: Diversification strategy used in MiHOS
Searching for a subset having the maximum diversification among a set of solutions is a challenging problem [16]. To illustrate this, suppose we have a COTS product with 70 mismatches m i each of which can be solved by using one of two resolution actions a i,1and a i,2. The solution space for such problem would contain 370 possible solutions; this is because each mismatch m i has three handling actions: solve using a i,1, solve using a i,2, and tolerate m i . If only 0.0001% of these solutions are qualified, then the number of qualified solutions for this problem equals 0.0001% × 370 ≈ 2.58 × 1026. Now, it is required to search this subset for the most diversified solutions. Assuming that we need a subset of five diversified solutions, we would have 2.58 × 1026!/[(2.58 × 1026−5)! × 5!] ≈ 9.53 × 10129 alternative subsets.
A strategy that simplifies the problem by searching only a subset of the feasible space for the most diversified solutions was introduced in [16]. However, as stated by the authors, this strategy does not guarantee the identification of the solutions with the maximum diversification among the whole feasible space.
In our paper, we propose another strategy. Suppose that we want to obtain a subset SOL that contains five solutions having the maximum diversification among the set of all qualified solutions. And suppose that if we have two solution plans X i and X j ∈SOL, then we can measure the level of diversification by comparing the structure of X i and X j and simply counting the number of differences ℵ i,j between them. Based on this, we can identify the subset SOL by applying the following procedure (see Fig. 8):
-
1.
Initialize the procedure:
-
1.1.
Formulate the original problem P 0 as described in Sect. 3 and get the optimum solution X 0 by solving P 0.
-
1.2.
Set SOL = {X 0}.
-
1.3.
Set η = 1 (where η is required degree of diversification. η represented by the number of differences that are counted between the different solution plans).
-
1.1.
-
2.
Get a qualified solution X 1 which has η differences with X 0. This is done as follows:
-
2.1.
Formulate a new problem P 1 which is the same as P 0 in addition to a new constraint ℵ1,0 = η (see Fig. 8).
-
2.2.
Get the solution X 1 by solving P 1.
-
2.3.
Add X 1 to the solution subset SOL; i.e., change SOL = {X 0, X 1}.
-
2.1.
-
3.
Repeat Step 2 to get the solution X 2, and add X 2 to SOL subset. Note that the new formulated problem P 2 has the same formulation as P 0 but has additionally two more constraints, ℵ2,0 = η and ℵ2,1 = η.
-
4.
Similarly to Step 3, repeat Step 2 to get X 3and X 4, while adding more constraints that guarantees a number of differences equal to η among all solutions (see Fig. 8).
-
5.
If the optimization engine, (i.e., LINDO [28]) has successfully found all diversified solutions X 0–X 4, then increment η by one.
-
6.
Repeat Steps 2–5 (while η is being incremented) until the optimization engine fails to find a feasible solution to at least one of the new formulated problems (this often happens when the optimization engine fails to solve P 4).
-
7.
The required subset SOL would then include the diversified solutions identified in the most recent successful run of the optimization engine.
The above procedure also cannot guarantee identifying the set of qualified solutions with maximum diversification. This is because it assumes equal distances between the diversified solutions, while in reality, the distances between the diversified solutions might vary. In addition, adding constraints such as ℵ1,0 = η makes the problem non-linear which makes it harder to solve.
Appendix 2: Mismatches between COTS4 and technical goals
Rights and permissions
About this article
Cite this article
Mohamed, A., Ruhe, G. & Eberlein, A. MiHOS: an approach to support handling the mismatches between system requirements and COTS products. Requirements Eng 12, 127–143 (2007). https://doi.org/10.1007/s00766-007-0041-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-007-0041-5