Short answer

An abstraction of the source code of your system.

Longer answer

Any programming or source code construct (e.g. module, component, subsystem, class, interface, package, library, framework, layer, partition, tier, function, macro, operation, data structure, …) that you implemented to make your system work.

Further examples of building blocks which might be relevant for your system:

  • configuration files or items
  • UI specific files, styles or definitions, like css-files in web development.
  • Any kind of templates used to generate other artifacts at compile-, build- or runtime
  • Build- or makefiles
  • Deployment- or installation-related artifacts (e.g. deployment- or container descriptors)

Usually you should stick to larger building blocks, like subsystems, top-level packages etc. Refrain from describing too many details.

See question C-5-4.