Component Based Software Development means focusing on building large system by integrating existing or newly created components for the purpose of reusability. This increases flexibility and maintainability of the system, reduce software design, development, testing and maintenance cost. This also makes sure that, some code in system is written once only rather than multiple times in single system and reused wherever required rather then re-written.
When applications are created using well designed component architectures, it assures that, impact of change of technology or requirement remains minimum on system. Nowadays businesses have lot of applications which run on intranet where user interface design changes quickly. With well designed component based architecture, impact of UI changes will be minimal.
In CBSD, the notion of building a system by writing code has been replaced with building a system by assembling and integrating existing software components. In contrast to traditional development, where system integration is often the tail end of an implementation effort, component integration is the centerpiece of the approach; thus, implementation has given way to integration as the focus of system construction. Because of this, integrability is a key consideration in the decision whether to acquire, reuse, or build the components.
At Param, we develop system using component based architecture in Microsoft .NET platform to reduce development and maintenance for our clients. We have significant experience in developing .NET reusable components from scratch or customizing Microsoft Application Blocks. With the growth of web services, components can provide necessary separation between external service interfaces from internal implementation and can be used from anywhere.