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.