基于组件的软件工程（Component-based software engineering，简称CBSE）或基于组件的开发（Component-Based Development，简称CBD）是针对系统的广泛功能，进行关注点分离的软体工程方式。此方式是以复用为基础的作法，定义、实现许多松耦合的独立组件（Component），再将组件组合成为系统。此作法的目的是希望在软体本身的短期益处以及开发软体组织的长期益处之间取得平衡。软件工程师会将组件视为是的启始平台。例如在Web服务以及面向服务的体系结构（SO