Building block
Building block is the general, abstract term for any of the artifacts from which a software system is constructed. It is part of the static structure that a building block view describes, a snapshot of how a system’s source code is organized, independent of how the system behaves at runtime.
Building blocks are hierarchical. A building block may contain other, smaller building blocks, from a whole subsystem all the way down to a single function.
Concrete names for a building block vary with the level of abstraction and the language or platform in use: a component, a module, a package, a namespace, a class, a file, a program, a subsystem, a function, a configuration, and a data definition are all building blocks under different names.
The term is also known as a structural element.