● Councill and Heinmann:
• A software component is a software element that
conforms to a component model and can be
independently deployed and composed without
modification according to a composition standard.
● Szyperski:
• A software component is a unit of composition with
contractually specified interfaces and explicit context
dependencies only. A software component can be
deployed independently and is subject to composition by
third-parties