component
A component is a high-quality workproduct, designed, documented, and packaged to be reusable. A component is cohesive and has a stable interface [Jacobson et al. 1997].
A component is a physical and replaceable part of a system that conforms to and provides the realisation of a set of interfaces (Grady Booch).
A component is a self-contained piece of software with clearly-defined interfaces and explicitly-declared context dependencies [Stahl&Volter 2006]. Mary Shaw and David Garlan define software components as "the loci of computation and state. Each component has an interface specification that defines its properties, which include the signatures and functionality of its resources together with global relations, performance properties, and so on. (...)''