Survey of component-based software development

Because of the extensive uses of components, the Component-Based Software Engineering (CBSE) process is quite different from that of the traditional waterfall approach. CBSE not only requires focus on system specification and development, but also requires additional consideration for overall system context, individual components properties and component acquisition and integration process. The term component-based software development (CBD) can be referred to as the process for building a system using components. CBD life cycle consists of a set of phases, namely, identifying and selecting components based on stakeholder requirements, integrating and assembling the selected components and updating the system as components evolve over time with newer versions. This work presents an indicative literature survey of techniques proposed for different phases of the CBD life cycle. The aim of this survey is to help provide a better understanding of different CBD techniques for each of these areas.

[1]  Jon Hopkins,et al.  Component primer , 2000, CACM.

[2]  Jingsha He,et al.  A Systematic Regression Testing Method and Tool For Software Components , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[3]  Jyrki Kontio,et al.  A COTS Selection Method and Experiences of Its Use , 1995 .

[4]  Jeannette M. Wing,et al.  Specification matching of software components , 1997 .

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

[6]  Brian Warboys,et al.  Cooperating evolving components- A rigorous approach to evolving large software systems , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[7]  J.Q. Ning Component-based software engineering (CBSE) , 1997, Proceedings Fifth International Symposium on Assessment of Software Tools and Technologies.

[8]  Ye Wu,et al.  Testing and Quality Assurance for Component-Based Software , 2003 .

[9]  Bogdan Korel,et al.  Requirement-based automated black-box test generation , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

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

[11]  George T. Heineman,et al.  Component-Based Software Engineering: Putting the Pieces Together , 2001 .

[12]  Hareton K. N. Leung,et al.  On the efficiency of domain-based COTS product selection method , 2002, Inf. Softw. Technol..

[13]  Hai Zhuge A problem-oriented and rule-based component repository , 2000, J. Syst. Softw..

[14]  C. Alves,et al.  CRE : A Systematic Method for COTS Components Selection , 2007 .

[15]  Hemant K. Jain,et al.  Business component identification - a formal approach , 2001, Proceedings Fifth IEEE International Enterprise Distributed Object Computing Conference.

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

[17]  Shinji Kusumoto,et al.  Component rank: relative significance rank for software component search , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[18]  Anthony Tung Shuen Ho,et al.  CIMO - Component Integration MOdel , 2000, Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000.

[19]  Soo Dong Kim,et al.  COMO: a UML-based component development methodology , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).

[20]  Andreas Rausch,et al.  Software evolution in componentware using requirements/assurances contracts , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[21]  Fatemeh Zahedi,et al.  An assessment model for requirements identification in component-based software development , 2003, DATB.

[22]  Jeannette M. Wing,et al.  Signature matching: a tool for using software libraries , 1995, TSEM.

[23]  Mario Piattini,et al.  Assessing Component-Based Systems , 2003, Component-Based Software Quality.

[24]  David Carney,et al.  Identifying Commercial Off-the-Shelf (COTS) Product Risks: The COTS Usage Risk Evaluation , 2003 .

[25]  Alan W. Brown,et al.  The Current State , 2016 .

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

[27]  Lamia Labed Jilani,et al.  Defining and Applying Measures of Distance Between Specifications , 2001, IEEE Trans. Software Eng..

[28]  Madjid Merabti,et al.  A multi-tiered classification scheme for component retrieval , 1998, Proceedings. 24th EUROMICRO Conference (Cat. No.98EX204).

[29]  Stephen S. Yau,et al.  Integration of object-oriented software components for distributed application software development , 1999, Proceedings 7th IEEE Workshop on Future Trends of Distributed Computing Systems.

[30]  Seung C. Lee,et al.  A component based methodology for Web application development , 2004, J. Syst. Softw..

[31]  Alan W. Brown,et al.  Engineering of component-based systems , 1996, Proceedings of ICECCS '96: 2nd IEEE International Conference on Engineering of Complex Computer Systems (held jointly with 6th CSESAW and 4th IEEE RTAW).

[32]  J. A. Rader Mechanisms for integration and enhancement of software components , 1997, Proceedings Fifth International Symposium on Assessment of Software Tools and Technologies.

[33]  Ian Sommerville,et al.  Integrated requirements engineering: a tutorial , 2005, IEEE Software.

[34]  Ernesto Damiani,et al.  Corrigenda: a hierarchy-aware approach to faceted classification of object-oriented components , 1999, TSEM.

[35]  Khaled Jaber,et al.  Using adapters to reduce interaction complexity in reusable component-based software development , 1999, SSR '99.

[36]  Alessandro Bianchi,et al.  COTS Products Characterization: Proposal and Empirical Assessment , 2003, ESERNET.

[37]  Ivica Crnkovic,et al.  Specification, implementation, and deployment of components , 2002, CACM.

[38]  Dar-Biau Liu,et al.  Component-based systems development: challenges and lessons learned , 1997, Proceedings Eighth IEEE International Workshop on Software Technology and Engineering Practice incorporating Computer Aided Software Engineering.

[39]  Alejandra Cechich,et al.  Trends on COTS component identification , 2006, Fifth International Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems (ICCBSS'05).

[40]  Claus Pahl An ontology for software component matching , 2006, International Journal on Software Tools for Technology Transfer.

[41]  Gregor Engels,et al.  Process-oriented, consistent integration of software components , 2002, Proceedings 26th Annual International Computer Software and Applications.

[42]  Ye Wu,et al.  Techniques for testing component-based software , 2001, Proceedings Seventh IEEE International Conference on Engineering of Complex Computer Systems.

[43]  Alberto Sillitti,et al.  Selecting components in large COTS repositories , 2004, J. Syst. Softw..

[44]  David Cordes,et al.  A conceptual foundation for component-based software deployment , 2001, J. Syst. Softw..

[45]  Mira Mezini,et al.  Integrating independent components with on-demand remodularization , 2002, OOPSLA '02.

[46]  Jingsha He,et al.  Testing coverage analysis for software component validation , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[47]  Ivica Crnkovic,et al.  Challenges of component-based development , 2002, J. Syst. Softw..

[48]  Soo Dong Kim,et al.  Component identification method with coupling and cohesion , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[49]  Antonio Vallecillo,et al.  Selecting software components with multiple interfaces , 2002, Proceedings. 28th Euromicro Conference.

[50]  Yingxu Wang,et al.  A method for built-in tests in component-based software maintenance , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[51]  Lawrence Chung,et al.  A knowledge-based COTS-aware requirements engineering approach , 2002, SEKE '02.

[52]  Jerry Zeyu Gao,et al.  On Building Testable Software Components , 2002, ICCBSS.

[53]  Roland Mittermeir,et al.  Storing and retrieving software components: a refinement based system , 1994, ICSE '94.

[54]  Volker Gruhn,et al.  Merging components and testing tools: the self-testing COTS components (STECC) strategy , 2003, 2003 Proceedings 29th Euromicro Conference.

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

[56]  Neil A. M. Maiden,et al.  Acquiring COTS Software Selection Requirements , 1998, IEEE Softw..

[57]  Bogdan Korel Black-box understanding of COTS components , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[58]  Mark R. Vigder,et al.  An architectural approach to building systems from COTS software components , 1997, CASCON.

[59]  Elaine J. Weyuker,et al.  Testing Component-Based Software: A Cautionary Tale , 1998, IEEE Softw..

[60]  Jonas Hörnstein,et al.  Test Reuse in CBSE Using Built-in Tests , 2002 .

[61]  Carina Frota Alves,et al.  Investigating Conflicts in Cots Decision-Making , 2003, Int. J. Softw. Eng. Knowl. Eng..

[62]  Tore Dybå,et al.  Evidence-based software engineering , 2004, Proceedings. 26th International Conference on Software Engineering.

[63]  Marco Torchiano,et al.  Characterization of a Taxonomy for Business Applications and the Relationships Among Them , 2004, ICCBSS.

[64]  Ragnhild Van Der Straeten,et al.  Supporting evolution in component-based development using component libraries , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[65]  Tore Dybå,et al.  Evidence-Based Software Engineering for Practitioners , 2005, IEEE Softw..