A domain is the target subject of a computer program. It is a term used in software engineering. Formally it represents the target subject of a specific programming project, whether narrowly or broadly defined.[1] For example, a particular programming project might have had as a goal the creation of a program for a particular hospital, and that hospital would be the domain. Or the project could be expanded in scope to include all hospitals as their domain.[1]: 352  In a computer programming design, you define a domain by delineating a set of common requirements, terminology, and functionality for any software program constructed to solve a problem in the area of computer programming, known as domain engineering. The word domain is also taken as a synonym of application domain.[1]

Domain in the realm of software engineering commonly refers to the subject area on which the application is intended to apply. In other words, during application development, the domain is the "sphere of knowledge and activity around which the application logic revolves." —Andrew Powell-Morse[2]

Domain: A sphere of knowledge, influence, or activity. The subject area to which the user applies a program is the domain of the software. —Eric Evans[3]

See also


  1. ^ a b c Bjørner, Dines (2006). "The Tryptych of Software Engineering". Software Engineering 3 – Domains, Requirements, and Software Design (book). Vol. I. Springer Verlag. p. 9. ISBN 978-3-540-33653-2. Retrieved 2016-12-19. ((cite book)): Cite has empty unknown parameters: |chapterurl=, |authormask=, and |month= (help)
  2. ^ Andrew Powell-Morse (April 21, 2017). "Domain-Driven Design - What is it and how do you use it?". Retrieved May 2, 2020.
  3. ^ Eric Evans (2015). "Domain Driven Design Reference: Definitions and Pattern Summaries"" (PDF). domainlanguage.com. Retrieved May 2, 2020.