hardware or software and may be divisible into smaller components. In the strictest definition, a
component must have —
u A contractually specified interface (or interfaces)
u Explicit context dependencies