Definition of a software component and its elements

Thegoal of this chapter is to rigorously define terms that describe the best practices of component-based software engineering (CBSE).We will develop and describe in detail the term software component and its constituent elements to provide clear, unambiguous, and rational meanings to the terms used to describe CBSE. You will find some terms used here for the first time. The reason for this is simple: many terms in software engineering emerged without precise definitions in publication and were subsequently used without reflection or scientificreview. We avoid the use of any terms that, although popular, are not rigorously defined, are circularly referenced, or are simply I'