Component-based developmentComponent-based designs control complexity and risk by dividing the software into discrete pieces, called components, each governed by its own specification. The separate components follow the principles of object-orientation in that they each combine data with the functions that act on those data. By having separable components it becomes possible to upgrade the system one piece at a time, and also, with luck, reuse a component built for one job on another.
Component-based development is different from previous approaches in the separation of component specification from implementation, and in the division of component specifications into interfaces.
John Daniels, the founder of Syntropy Limited, is a leading expert on CBD. The approach described in his book, UML Components, has been adapted and applied to projects at many of our clients.