Abstract
Current software development has moved away from the traditional manual workshop model and emphasizes improving software product quality. To address the issue of repetitive work, software reuse techniques can be adopted to continually enhance the quality and efficiency of software development. Software reuse primarily involves reutilizing existing software knowledge during the software development process, effectively reducing maintenance costs incurred during development and controlling the overall software development expenses. Software components are an effective form of supporting software product reuse and serve as the core technology for enabling software reuse. Component-based software engineering techniques emphasize the use of reusable software “components” to design and construct programs, aiming to assemble these components within a software architecture to achieve software reuse and improve the quality and productivity of software products. However, selecting the most suitable components from the results of component retrieval requires understanding the different usages of each component in the retrieval results. The existing methods suffer from excessive reliance on manual approaches and errors caused by inter-component relationships. Therefore, this paper proposes a component selection technique called UEBCS (Usage Example-Based Component Selection). This technique leverages steps such as clustering analysis and hierarchical classification to achieve optimal component selection. UEBCS has shown excellent results in terms of both efficiency and accuracy in selecting components. This method provides technical support for software developers in the software development process and holds significant practical significance for enhancing software development quality and efficiency, as well as promoting the deepening development of the software industry.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Goguen, J.A.: Reusing and interconnecting software components. Computer 19(02), 16–28 (1986)
Broy, M., Deimel, A., Henn, J., et al.: What characterizes a (software) component? Softw. Concepts Tools 19, 49–56 (1998)
Bertoa, M.F., Troya, J.M., Vallecillo, A.: Measuring the usability of software components. J. Syst. Softw. 79(3), 427–439 (2006)
Andrianjaka, R.M., Razafimahatratra, H., Mahatody, T., et al.: Automatic generation of software components of the Praxeme methodology from ReLEL. In: 2020 24th International Conference on System Theory, Control and Computing (ICSTCC), pp. 843–849. IEEE (2020)
Levy, O., Feitelson, D.G.: Understanding large-scale software-a hierarchical view. In: 2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC), pp. 283–293. IEEE (2019)
Comella-Dorda, S., Dean, J.C., Morris, E., Oberndorf, P.: A process for COTS software product evaluation. In: Dean, J., Gravel, A. (eds.) ICCBSS 2002. LNCS, vol. 2255, pp. 86–96. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45588-4_9
Ballurio, K., Scalzo, B., Rose, L.: Risk reduction in cots software selection with BASIS. In: Dean, J., Gravel, A. (eds.) ICCBSS 2002. LNCS, vol. 2255, pp. 31–43. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45588-4_4
Mancebo, E., Andrews, A.: A strategy for selecting multiple components. In: Proceedings of the ACM Symposium on Applied Computing, vol. 2005, pp. 1505–1510 (2005)
Lau, K.K.: Software component models. In: Proceedings of the 28th International Conference on Software Engineering, pp. 1081–1082 (2006)
Capilla, R., Gallina, B., Cetina, C., et al.: Opportunities for software reuse in an uncertain world: from past to emerging trends. J. Softw. Evol. Process 31(8), e2217 (2019)
Li, R., Etemaadi, R., Emmerich, M.T.M., et al.: An evolutionary multiobjective optimization approach to component-based software architecture design. In: 2011 IEEE Congress of Evolutionary Computation (CEC), pp. 432–439. IEEE (2011)
Badampudi, D., Wohlin, C., Petersen, K.: Software component decision-making: in-house, OSS, COTS or outsourcing - a systematic literature review. J. Syst. Softw. 121, 105–124 (2016)
Rotaru, O.P., Dobre, M.: Reusability metrics for software components. In: The 3rd ACS/IEEE International Conference on Computer Systems and Applications, 2005, p. 24. IEEE (2005)
Gill, N.S.: Importance of software component characterization for better software reusability. ACM SIGSOFT Softw. Eng. Notes 31(1), 1–3 (2006)
Acknowledgement
This work was supported by the National Key RD Program of China under Grant No. 2020YFB1710200.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Zhao, Y., Qi, X., Li, J., Lu, D. (2024). UEBCS: Software Development Technology Based on Component Selection. In: Jin, H., Yu, Z., Yu, C., Zhou, X., Lu, Z., Song, X. (eds) Green, Pervasive, and Cloud Computing. GPC 2023. Lecture Notes in Computer Science, vol 14503. Springer, Singapore. https://doi.org/10.1007/978-981-99-9893-7_1
Download citation
DOI: https://doi.org/10.1007/978-981-99-9893-7_1
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-99-9892-0
Online ISBN: 978-981-99-9893-7
eBook Packages: Computer ScienceComputer Science (R0)