1.4 Terminology and Acronyms
In the remainder of this book we use the term component to mean commercial software component. Component-based development refers to the practices required to build systems (applications and infrastructures) from commercial software components. This is not to diminish the claims of the other authors sited to their component-orientation. It is, however, an explicit rejection of any claims to the exclusivity of that term.
You will also note that we do not construct lots of categorical definitions. Of course it is important to be clear about certain key concepts, and we do (finally) define software component in Chapter 5. But it is difficult to construct air-tight categorical definitions. Indeed, it is not even necessary: we can all identify and use money without knowing precisely how to define it.3 Our preference is to use definitions sparingly, and instead illustrate how the categories are used. This is far more satisfying for the authors and, we expect, for readers as well.
Also, sadly, software engineering and especially the commercial software marketplace generates a seemingly infinite variety of acronyms, nested acronyms, and compound acronyms. Rather than re-define the same acronym in each chapter, we do so only once, and ask you to refer to the glossary for all other uses.