Component-based software engineering (
CBSE) (also known as
component-based development (
CBD)) is a branch of
software engineering that emphasizes the
separation of concerns in respect of the wide-ranging functionality available throughout a given
software system. It is a reuse-based approach to defining, implementing and composing loosely coupled independent components into systems. This practice aims to bring about an equally wide-ranging degree of benefits in both the short-term and the long-term for the software itself and for organizations that sponsor such software.