Empirical study of software component integration process activities

The component integration phase is key to component-based system (CBS) success because of its profound impact on the quality of a software product. However, CBS integration is a complex phase because it is rarely the case that components are perfectly matched and ready for ‘plug and play’. The component integration phase involves assembling pre-existing software components usually developed by different parties, and writing glue-code to handle the mismatches between CBS-to-be requirements and available component features. The objective of the study is to gain an in-depth understanding of the impact of integration process activities on the overall success of a CBS. The empirical study also investigates the inter-dependency between the CBS integration process activities. A survey was developed and data from CBS practitioners working in small-to-medium-sized organisations were collected. The results show that ‘component functional specification’, ‘structural compatibility analysis’, ‘architectural model development’ and ‘early glue-code specification’ are integration process activities that have positive correlation with the successful development of a CBS. However, the results indicate that the ‘quality properties analysis’ is not carried out as an integration process activity by the majority of CBS practitioners during development of a CBS. Furthermore, the results of the survey also provide empirical evidence that there is a positive association between various key CBS integration process activities.

[1]  Carina Alves,et al.  COTS-Based Requirements Engineering , 2003, Component-Based Software Quality.

[2]  Barry W. Boehm,et al.  COTS Integration: Plug and Pray? , 1999, Computer.

[3]  Louis C. Rose,et al.  Risk Management of COTS Based Systems Development , 2003, Component-Based Software Quality.

[4]  Liming Zhu,et al.  Risks of off-the-shelf-based software acquisition and development: A systematic mapping study and a survey , 2012, EASE.

[5]  Wim Vanderperren,et al.  JAsCo: an aspect-oriented approach tailored for component based software development , 2003, AOSD '03.

[6]  Reidar Conradi,et al.  An empirical study of variations in COTS-based software development processes in the Norwegian IT industry , 2004, 10th International Symposium on Software Metrics, 2004. Proceedings..

[7]  Marco Torchiano,et al.  A State-of-the-Practice Survey of Risk Management in Development with Off-the-Shelf Software Components , 2008, IEEE Transactions on Software Engineering.

[8]  Awais Rashid,et al.  Risk Management in Component Based Development:: A Separation of Concerns Perspective , 2001 .

[9]  Eila Niemelä,et al.  Component documentation - a key issue in software product lines , 2004, Inf. Softw. Technol..

[10]  Hazleen Aris,et al.  Framework for component model selection , 2011, IET Softw..

[11]  Sajjad Mahmood,et al.  A graph based requirements clustering approach for component selection , 2012, Adv. Eng. Softw..

[12]  Sungjin Park,et al.  Automated Continuous Integration of Component-Based Software: An Industrial Experience , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[13]  Rohini Patil,et al.  Component adaptation for event-based application integration using active rules , 2006, J. Syst. Softw..

[14]  Mario Piattini,et al.  Early detection of COTS component functional suitability , 2007, Inf. Softw. Technol..

[15]  Gary Klein,et al.  The relative influence of management control and user-IS personnel interaction on project performance , 2006, Inf. Softw. Technol..

[16]  Reidar Conradi,et al.  election of third party software in Off-The-Shelf-based software evelopment — An interview study with industrial practitioners , 2010 .

[17]  Christopher J. Fox,et al.  Sixteen questions about software reuse , 1995, CACM.

[18]  Daniel Sundmark,et al.  Reuse with Software Components - A Survey of Industrial State of Practice , 2009, ICSR.

[19]  Ivica Crnkovic,et al.  Component-based development process and component lifecycle , 2005, 27th International Conference on Information Technology Interfaces, 2005..

[20]  Liming Zhu,et al.  Composing enterprise mashup components and services using architecture integration patterns , 2011, J. Syst. Softw..

[21]  Sajjad Mahmood,et al.  Survey of component-based software development , 2007, IET Softw..

[22]  Muhammad Ali Babar,et al.  The Importance of Architectural Knowledge in Integrating Open Source Software , 2011, OSS.

[23]  Chi Zhang Software components composition compatibility checking based on behavior description , 2009, 2009 IEEE International Conference on Granular Computing.

[24]  Gregory W. Corder,et al.  Nonparametric Statistics for Non-Statisticians: A Step-by-Step Approach , 2009 .

[25]  Sajjad Mahmood Usefulness of acceptance testing information for component-based system maintenance , 2012, IET Softw..

[26]  Daniela Cruzes,et al.  Five Facts on the Adoption of Open Source Software , 2011, IEEE Software.

[27]  Marco Torchiano,et al.  Overlooked facts on COTS-based development , 2004 .

[28]  Wenpin Jiao,et al.  Using autonomous components to improve runtime qualities of software , 2011, IET Softw..

[29]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[30]  Colin Atkinson,et al.  Automated Creation and Assessment of Component Adapters with Test Cases , 2010, CBSE.

[31]  Marco Torchiano,et al.  Overlooked aspects of COTS-based development , 2004, IEEE Software.

[32]  Padmal Vitharana Risks and challenges of component-based software development , 2003, CACM.

[33]  Shari Lawrence Pfleeger,et al.  Principles of survey research: part 1: turning lemons into lemonade , 2001, SOEN.

[34]  Awais Rashid,et al.  A strategy for managing risk in component-based software development , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[35]  Marco Torchiano,et al.  Development with Off-the-Shelf Components: 10 Facts , 2009, IEEE Software.

[36]  Luiz Fernando Capretz,et al.  The software product line architecture: An empirical investigation of key process activities , 2008, Inf. Softw. Technol..

[37]  Sajjad Mahmood,et al.  An industrial study on the importance of software component documentation: A system integratorʼs perspective , 2011, Inf. Process. Lett..

[38]  Per Runeson,et al.  Usage of Open Source in Commercial Software Product Development - Findings from a Focus Group Meeting , 2011, PROFES.

[39]  Colin Robson,et al.  Real World Research: A Resource for Social Scientists and Practitioner-Researchers , 1993 .