Sometimes called componentware, software designed to work as a component of a larger application. A good analogy is the way personal computers are built up from a collection of standard components: memory chips, CPUs, buses, keyboards, mice, disk drives, monitors, etc. Because all of the interfaces between components are standardized, it is possible to mix components from different manufacturers in a single system.
Similarly, the goal of component software is to standardize the interfaces between software components so that they too can work together seamlessly. Two standards -- OLE and OpenDoc -- are designed to help programmers develop components that can work together. Many analysts believe that component software is the natural extension of object-oriented programming and that it will become the standard programming paradigm for years to come.