A problem area. Typically, many application programs exist to solve the problems in
a single domain. The following prerequisites indicate the presence of a domain: the
existence of comprehensive relationships among objects in the domain, a community
interested in solutions to the problems in the domain, a recognition that software
solutions are appropriate to the problems in the domain, and a store of knowledge
or collected wisdom to address the problems in the domain. Once recognized, a
domain can be characterized by its vocabulary, common assumptions, architectural
approach, and literature. [Arango Prieto-Diaz 1991]
An area of knowledge or activity characterized by a set of concepts and terminology
understood by practitioners in that area [Booch et al 1990]