Een softwarecomponent is een black box waarvan de functionaliteit en de afhankelijkheden zijn vastgelegd in diens interfaces,
- die gebruikt kan worden zonder de details van de implementatie te kennen,
- die geassembleerd kan worden samen met andere componenten en die onafhankelijk ingezet kan worden.