La ingeniería de software basada en componentes (CBSE) (también conocida como desarrollo basado en componentes) es una rama de la ingeniería de software que enfatiza la separación de asuntos (separation of concerns) por lo que se refiere a la funcionalidad de ámplio rango disponible a través de un sistema de software dado. Es un acercamiento basado en la reutilización para definir, implementar, y componer, componentes débilmente acoplados en sistemas.