SOFTWARE IN PRACTICE
(Alias: design component, design element)
First bits and crumbs of the piece come and gradually join together in my mind; then the soul getting warmed to the work, the thing grows more and more, and I spread it out broader and clearer, and at last it gets almost finished in my head, even when it is a long piece and so that I can see the whole of it at a single glance in my mind as if it were a beautiful painting. - Mozart
A design entity is an element (component) of a design that is structurally and functionally distinct from other elements and that is separately named and referenced.
Design entities result from a decomposition of the software system requirements. The objective is to divide the system into separate components that can be considered, implemented, changed, and tested with minimal effect on other entities. The number and type of entities required to partition a design are dependent on a number of factors, such as the complexity of the system, the design technique used, and the programming environment.
Although entities are different in nature, they possess common characteristics. Each design entity will have a name, purpose, and function. There are common relationships among entities such as interfaces or shared data. The common characteristics of entities are described by design entity attributes.
Examples of design entities: