领域模型(domain model)是对领域内的概念类或现实世界中对象的可视化表示。领域模型也称为概念模型、领域对象模型和分析对象模型。

  在UP中,术语“领域模型”指的是对现实世界概念类的表示,而非软件对象的表示。该术语并不是指用来描述软件类、软件架构领域层或有职责软件对象的一组图。UP对领域模型的定义是可以在业务建模科目中创建的制品之一。更准确地讲,UP领域模型是UP业务对象模型的特化。

  如何创建领域模型

  以当前迭代中所要设计的需求为界:

  1)寻找概念类

  2)将其绘制为UML类图中的类

  3)添加关联和属性。

  什么是概念类?如何找到概念类?

  通俗的说,概念类是思想、事物或对象。更正式的讲,概念类可以从其符号、内涵和外延来考虑。

  • 符号:表示概念类的词语或图形
  • 内涵:概念类的定义  
  • 外延:概念类所适用的一组示例

  找到概念类的三条策略

  1)重用和修改现有的模型

  2)使用分类列表

  3)确定名词短语

  

  关联

  是类(更准确的说,是这些类的实例)之间的关系,表示有意义和值得关注的连接。在UML中,关联被定义为“两个或多个类元之间的语义联系,涉及这些类元实例之间的连接”。

  准则:何时表示关联

  在领域模型中要考虑如下关联:

  • 如果存在需要保持一段时间的关系,将这种语义表示为关联。  
  • 从常见关联列表中派生的关联。

  属性

  是对象的逻辑数据值。

  准则:何时展示属性

  当需求建议或暗示需要记住信息时,引入属性。

  

  结论:领域模型是否正确

  没有所谓唯一正确的领域模型。所有模型都是对我们试图要理解的领域的近似。领域模型主要是在特定群体中用于理解和沟通的工具。有效的领域模型捕获了当前需求语境下的本质抽象和理解领域所需要的信息,并且可以帮助人们理解领域的概念、术语和关系。