Open Access Open Access  Restricted Access Subscription or Fee Access

A Classified Survey of Component-based Software

Aditya Pratap Singh, Pradeep Tomar


Software reuse is the process of creating software systems from existing software rather than building software systems from scratch. The last decade performed the real attempt to turn software development into engineering through the concepts of Component-Based Software Development (CBSD) and Commercial Off-The-Shelf (COTS) components. This paper surveys the progress of component-based software in recent years with emphases on Architecture and measurement for component-based applications. CBSD has emerged as the best hope for building high-quality Web-based/enterprise applications in comparatively less time. CBSD has the potential to reduce significantly development cost and time-to-market of applications, and improve the maintainability, reliability and overall quality of those applications. One of the most critical processes in CBSD is the selection of the COTS components from a repository that meet the user requirements. Current approaches try to propose appropriate quality models for the effective assessment of such components. Paper also addresses QA issues for component-based software. Literature reviewed which tries to define quality characteristics, attributes, and metrics, which are specific to the particular nature of COTS components. The survey also gives broader view of component’s understandability, adaptability, portability and reusability by reviewing few existing component-based reusability and complexity metrics.

Keywords: Software reuse, software measurement, component-based software development (CBSD), commercial off-the-shelf (COTS), quality assurance (QA), black-box components

Cite this Article
Aditya Pratap Singh, Pradeep Tomar. A Classified Survey of Component-Based Software. Journal of Software Engineering Tools & Technology Trends. 2016; 3(1): 20–28.

Full Text:



Xia Cai, Lyu MR, Kam-Fai Wong, et al. Component-based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes, Seventh Asia-Pacific Software Engineering Conference, APSEC 2000. Proceedings, 2000, 372–379p.

Szyperski C, Gruntz D, Murer S, Component Software: Beyond Object-Oriented Programming, Second ed. Addison-Wesley, 2002.

Crnkovic I, Stafford J, Szyperski C, Software Components Beyond Programming: From Routines to Services, Software, IEEE, 2011; 28(3): 22–26p.

Cheesman J, Daniels J, UML Components: A Simple Process for Specifying Component-Based Software, BOOK, Addison-Wesley, 2001.

Brown AW, Wallnan KC, Engineering of Component-based Systems, Second IEEE International Conference on Engineering of Complex Computer Systems, Proceedings. Montreal, Que, 1996, 414–422p.

Meyer B, Mingins C, Component-based Development: From Buzz to Spark, Computer, IEEE, 1999; 32(7): 35–37p.

Brown AW, Wallnau KC, The Current State of CBSE, Software, IEEE. 1998; 15(5): 37–46p.

Crnkovic I, Component-based Software Engineering—New Challenges in Software Development, Software Focus, Wiley Online Library, 2001; 2(4): 127–133p.

Crnkovic I, Larsson M, Challenges of Component-based Development, J Syst Softw. Elsevier, 2002; 61: 201–212p.

Crnkovic I, Chaudron M, Larsson S, Component-based Development Process and Component Lifecycle, International Conference on Software Engineering Advances, IEEE, 2006, 44–44p.

Ning JQ, Consulting A, A Component Model Proposal, Proceedings of the International Workshop on Component-Based Software Engineering, Citeseer, 1999.

Garlan D, Monroe RT, Wile D, Acme: Architectural Description of Component-based Systems, Foundations of component-based systems, Leavens, G.T., and Sitaraman, M. (eds). Cambridge University Press, 2000, 47–68p.

Bruneton E, Coupaye T, Leclercq M, et al. An Open Component Model and Its Support in Java, Lecture Notes in Computer Science, Component-Based Software Engineering, Springer, 2004, 7–22p.

Lau KK, Wang Z, Software Component Models, IEEE T Softw Eng. 2007; 33: 709–724p.

Gill NS, Tomar P, X Model: A New Component-Based Model, MR Int J Eng Technol. 2008; 1(1 & 2): 1–9p.

Greenfield J, Short K, Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools, Companion of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, ACM, New York, 2003, 16–27p.

da Silva Jr MC, de C Guerra PA, Rubira CMF, A Java Component Model for Evolving Software Systems, 18th IEEE International Conference on Automated Software Engineering. Proceedings, 2003, 327–330p.

Morisio M, Torchiano M, Definition and Classification of COTS: A Proposal, COTS-Based Software Systems, Springer, 2002, 165–175p.

ISO/IEC 9126-1:2001, Software Engineering—Product Quality—Part 1: Quality Model, Multiple. Distributed through American National Standards Institute, 2001.

Kharb L, Singh R, Complexity Metrics for Component-oriented Software Systems, ACM SIGSOFT Software Engineering Notes, 2008; 33(2): 1–3p.

Gill NS, Grover PS, Component-based Measurement: Few Useful Guidelines, ACM SIGSOFT Software Engineering Notes, ACM, 2003; 28(6): 4–4p.

Seker R, Tanik MM, An Information-theoretical Framework for Modeling Component-based Systems, IEEE T Syst Man Cy C. 2004; 34(4): 475–484p.

Aoyama M, others, New Age of Software Development: How Component-based Software Engineering Changes the Way of Software Development, International Workshop on CBSE, Citeseer, 1998.

Arun Sharma, Grover PS, Rajesh Kumar, Reusability Assessment for Software Components, ACM SIGSOFT Software Engineering Notes, 2009, 34(2): 1–6p.

Brereton P, Budgen D, Component-based Systems: A Classification of Issues, Computer, IEEE, 2000; 33(11): 54–62p.

Gill NS, Grover PS, Few Important Considerations for Deriving Interface Complexity Metric for Component-based Systems, ACM SIGSOFT Software Engineering Notes, ACM, 2004; 29(2): 4–4p.

Grundy J, Mugridge W, Hosking J, Constructing Component-based Software Engineering Environments: Issues and Experiences, Inform Software Tech. Elsevier. 2000; 42(2): 103–114p.

Koziolek H, Performance Evaluation of Component-Based Software Systems: A Survey, Perform Evaluation. 2010; 67(8): 634–658p.

Kozaczynski W, Booch G, Component-Based Software Engineering, Software, IEEE. 1998; 15(5): 34–36p.

Krueger CW, Software Reuse, ACM Comput Surv (CSUR). 1992; 24(2): 131–183p.

Maiden NA, Ncube C, Acquiring COTS Software Selection Requirements, Software, IEEE. 1998; 15(2): 46–56p.

Rausch A, Reussner R, Mirandola R, et al. The Common Component Modeling Example: Comparing Software Component Models, in: LNCS 5153, Springer, 2008.

Sedigh-Ali S, Ghafoor A, Paul RA, Metrics and Models for Cost and Quality of Component-based Software, Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003, 149–155p.

Torchiano M, Morisio M, Overlooked Aspects of COTS-based Development, Software, IEEE. 2004; 21(2): 88–93p.

Vitharana P, Risks and Challenges of Component-based Software Development, Communications of the ACM. 2003; 46(8): 67–72p.

Weyuker EJ, Testing Component-based Software: A Cautionary Tale, Software, IEEE. 1998; 15(5): 54–59p.


  • There are currently no refbacks.

This site has been shifted to