在软件开发领域,开发过程主要分为分析阶段与设计阶段。在分析阶段,根据问题域的描述,抽象出真实世界的概念模型。其中包含实体的属性与实体间的关系,但不必定义实体的行为。在设计阶段,主要是域模型的建立与关系数据模型的建立。域模型中的基本元素为域对象,每个域对象是域模型的一个实例,与真实世界的个体相对应。域模型可分为实体域模型,过程域模型与事件域模型。实体域是人,账单,车的抽象。过程域是业务流程或逻辑流程,如服务类。事件模型表示系统中一些突发的事件。
分析阶段的另一个任务是抽象出关系数据模型,本质就是对域对象的物理存储模型。换句话说域模型是实体在内存中的形态,关系数据模型是实体在数据库中的形态。域模型与关系数据模型需要根据某种方式进行映射。