Abstract
Software is often built from pre-existing, reusable components, but there is a lack of knowledge regarding how efficient this is in practice. In this paper we therefore present qualitative results from an industrial survey on current practices and preferences, highlighting differences and similarities between development with reusable components, development without reusable components, and development of components for reuse. Component reuse does happen, but the findings are still partly disappointing: currently, many potential benefits are not achieved. Still, the findings are encouraging: there are indeed good, reusable components properly verified and documented, and mature organizations who manage to reuse these components efficiently, e.g. by leveraging the previous component verification. We also find that replacing one component for another is not necessarily complicated and costly.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Szyperski, C.: Component Software, 2nd edn. Addison-Wesley, Reading (2002)
Wallnau, K., Hissam, S., Seacord, R.: Building Systems from Commercial Components. Addison-Wesley, Reading (2001)
Crnkovic, I., Chaudron, M., Larsson, S.: Component-based Development Process and Component Lifecycle. In: International Conference on Software Engineering Advances (ICSEA 2006), Tahiti (2006)
Hissam, S., Moreno, G., Stafford, J., Wallnau, K.: Packaging Predictable Assembly with Prediction-Enabled Component Technology, Pittsburgh (2001)
Land, R., Carlson, J., Larsson, S., Crnkovic, I.: Towards Guidelines for a Development Process for Component-Based Embedded Systems. In: Workshop on Software Engineering Processes and Applications (SEPA), Yongin, Korea. LNCS (2009)
Karlsson, E.-A.: Software Reuse: A Holistic Approach. John Wiley & Sons Ltd., Chichester (1995)
Mohagheghi, P., Conradi, R.: Quality, Productivity and Economic Benefits of Software Reuse: A Review of Industrial Studies. Journal of Empirical Software Engineering 12(5), 471-516 (2007)
Li, J., Torchiano, M., Conradi, R., Slyngstad, O., Bunse, C.: A State-of-the-Practice Survey of Off-the-Shelf Component-Based Development Processes. In: Morisio, M. (ed.) ICSR 2006. LNCS, vol. 4039, pp. 16–28. Springer, Heidelberg (2006)
Li, J., Conradi, R., Bunse, C., Torchiano, M., Slyngstad, O., Morisio, M.: Development with Off-The-Shelf Components: 10 Facts. IEEE Software 26(2), 80–87 (2009)
Cooper, K.: Can Agility be Introduced into Requirements Engineering for COTS Component Based Development? In: International Workshop on Software Product Management, IWSPM (2006)
Beck, K.: EXtreme Programming EXplained: Embrace Change. Addison Wesley, Reading (1999)
Krasteva, I., Branger, P., Land, R.: Challenges for Agile Development of COTS Components and COTS-Based Systems – A Theoretical Examination, Funchal, Portugal (2008)
Tassey, G.: The Economic Impacts of Inadequate Infrastructure for Software Testing (2002)
Aoyama, M.: New age of software development: How component-based software engineering changes the way of software development. In: Proceedings of International Workshop on Component-Based Software Engineering (1998)
Land, R., Blankers, L., Chaudron, M., Crnkovic, I.: COTS Selection Best Practices in Literature and in Industry. In: Mei, H. (ed.) ICSR 2008. LNCS, vol. 5030, pp. 100–111. Springer, Heidelberg (2008)
Oberndorf, P., Brownsword, L., Morris, E., Sledge, C.: In: Workshop on COTS-Based Systems (1997)
Krasteva, I., Land, R., Sajeev, A.: Being Agile when Developing Software Components and Component-Based Systems – Experiences from Industry. In: EuroSPI, Madrid, Spain (2009)
Maiden, N., Ncube, C.: Acquiring COTS Software Selection Requirements. IEEE Software 15(2) (1998)
Alves, C., Castro, J.: CRE: a systematic method for COTS components Selection. In: Proceedings of the XV Brazilian Symposium on Software Engineering (SBES), Rio de Janeiro (2001)
Chung, L., Cooper, K.: Defining Goals in a COTS-Aware Requirements Engineering Approach. Systems Engineering 7(1) (2004)
Burgués, X., Estay, C., Franch, X., Pastor, J., Quer, C.: Combined Selection of COTS Components. In: Dean, J., Gravel, A. (eds.) ICCBSS 2002. LNCS, vol. 2255, pp. 54–64. Springer, Heidelberg (2002)
Bhuta, J., Boehm, B.: A Method for Compatible COTS Component Selection. In: Franch, X., Port, D. (eds.) ICCBSS 2005. LNCS, vol. 3412, pp. 132–143. Springer, Heidelberg (2005)
Causevic, A., Krasteva, I., Land, R., Sajeev, A., Sundmark, D.: An Industrial Survey on Software Process Practices, Preferences and Methods (2009)
Land, R., Alvaro, A., Crnkovic, I.: Towards Efficient Software Component Evaluation: An Examination of Component Selection and Certification. In: Euromicro SEAA SPPI Track, Parma, Italy (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Land, R., Sundmark, D., Lüders, F., Krasteva, I., Causevic, A. (2009). Reuse with Software Components - A Survey of Industrial State of Practice. In: Edwards, S.H., Kulczycki, G. (eds) Formal Foundations of Reuse and Domain Engineering. ICSR 2009. Lecture Notes in Computer Science, vol 5791. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04211-9_15
Download citation
DOI: https://doi.org/10.1007/978-3-642-04211-9_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04210-2
Online ISBN: 978-3-642-04211-9
eBook Packages: Computer ScienceComputer Science (R0)