Truth-1: There exists a set of essential properties uniquely and universally share by each and every known physical functional component. That is, it is impossible to find a physical functional component without having the essential properties. No physical part can be a component without having the essential properties. These essential properties can be discovered (i.e. factual and unambiguous objective answer to the 2nd question in the preamble at the top of our web site).
It is possible to invent equivalent (i.e. real) software components that are having all the essential properties (or characteristics). Hence it is a flaw (or error) to define any other kind of software parts is a kind of software components – Existing software engineering paradigm and so called CBSE (Component Based Software Engineering) has been evolving since mid 1960s by relying on this kind of flawed (and baseless untested) definitions for so called software components.
Truth-2: Likewise, there exists a set of essential aspects uniquely and universally share by each and every known CBD (Component-Based Design) of one-of-a-kind physical product (e.g. prototype of a spacecraft or experimental jet-fighters). The essential aspects can be discovered (i.e. factual and unambiguous objective answer to the 1st question). So, similar reasoning can be used to define that real-CBSD (Component Based Design for Software) must satisfy the essential aspects.
We can tie these 2 individual (or independent) discoveries to complement and support (or prove) each other. The fact is, except physical components, no other kind of parts can achieve real CBD. Hence, no other kind of so called software components (not having the essential properties), except real software components (having the essential properties) could be able to achieve real-CBSD (by satisfying the essential aspects of CBD, such as, containing hierarchy of replaceable components).
The real software components and real-CBSD are two mutually independent discoveries that complement and support each other. For example, Kepler’s laws were extremely useful not only to make but also to support
’s discovery of Gravity. The discovery
of gravity provided sound scientific explanation for Kepler’s laws. So Gravity
and Kepler’s laws are mutually independent (i.e. stand-alone or individual)
discoveries that complemented and supported (e.g. proved) each other. Newton
Of course, each of the individual discoveries was independently supported by reality (i.e. facts, observations and empirical evidence) and/or impeccable reasoning (e.g. mathematical calculations). Likewise, real software components and real-CBSD are individually supported by reality/facts and impeccable reasoning (in this web-site). Furthermore they compliment and support (e.g. prove) each other, which is another compelling additional confirmation or supplementary proof.