An optimization model for software component selection under multiple applications development

J. F. Tang, L. F. Mu, Chun Kit Kwong, X. G. Luo

Research output: Journal article publicationJournal articleAcademic researchpeer-review

42 Citations (Scopus)


Component based software development (CBSD) is well acknowledged as a methodology which establishes reusability of software and reduce development cost effectively. While developing enterprise application using component based software engineering (CBSE) methods, software component selection plays a very important role in the process of component retrieval, adaptation and assembly. However, most of current researches focus on technical aspects from domain engineering and application engineering to improve reusability and system efficiency rather than application of optimization methods in CBSD management, especially application in component selection. Moreover, few existing researches have concerned about the situation where a software developer or enterprise develops multi-applications at the same time. By introducing the concept of reusability and a new formulation of compatibility matrix, an optimization model is proposed to solve component selection problem considering reusability and compatibility simultaneously. The model can be used to assist software developers in selecting software components when multi-applications are undertaken concurrently. Four experiments are conducted with the purpose to provide some insights in management perspective.
Original languageEnglish
Pages (from-to)301-311
Number of pages11
JournalEuropean Journal of Operational Research
Issue number2
Publication statusPublished - 16 Jul 2011


  • Component based software development
  • Components selection
  • Experimental analysis
  • Multi-applications development
  • Optimization model
  • Reusability

ASJC Scopus subject areas

  • Modelling and Simulation
  • Management Science and Operations Research
  • Information Systems and Management


Dive into the research topics of 'An optimization model for software component selection under multiple applications development'. Together they form a unique fingerprint.

Cite this