一 定义:领域建模是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。业务对象模型(也叫领域模型 domain model)是描述业务用例实现的对象模型。它是对业务角色和业务实体之间应该如何联系和协作以执行业务的一种抽象。业务对象模型从业务角色内部的观点定义了业务用例。该模型为产生预期效果确定了业务人员以及他们处理和使用的对象(“业务类和对象”)之间应该具有的静态和动态关系。它注重业务中承担的角色及其当前职责。这些模型类的对象组合在一起可以执行所有的业务用例

1.我们设计一个系统,总是希望它能解决一些问题,这些问题总是会映射到现实问题和概念。

2,对这些问题进行归纳、分析的过程就是领域建模(这个域,指的就是问题域),现实世界中系统所要解决问题的领域为“问题域”,如“学生成绩查询业务”属于“教学的问题域”。

 

二:建立领域模型的好处:

1,通过建立领域模型能够从现实的问题域中找到最有代表性的概念对象

2,并发现出其中的类和类之间的关系,因为所捕捉出的类是反馈问题域本质内容的信息。

经典的面向对象的分析或调研的步骤,是把一个相关的领域,分解为单个领域类或者对象(是一个我们能够理解的概念)。

领域模型是领域类或者是我们感兴趣的现实对象的可视化表示。

它们也被称之为:概念模型、领域对象模型、分析对象模型等。

在UML中,领域模型是不定义操作(方法)的一组类图来说明,它主要表达:

1,    领域对象或者领域类

2,    领域类之间的关联

3,    领域类的属性

属性用以表达对象的状态。

三:领域建模的步骤:

领域模型设计是需求分析的关键步骤。它帮助用户及需求分析人员建立业务概念,确定用户业务的问题域,系统涉及的业务范围等等。
领域模型设计的步骤为:
1. 从业务描述中提取名词;
2. 从提取出来的名词中总结业务实体,区分名词中的属性、角色、实体、实例,形成问题域中操作实体的集合;
3. 从业务实体集合中抽象业务模型,建立问题域的概念(例如,我们把容易变质的水果称之为“短期保持水果”,当然也可以是其它说法,只要能跟用户达成共识即可);
4. 用UML提供的方法和图例进行领域模型设计、确定模型之间的关系
 
四: 领域建模实例:
 

1 从业务描述(自行上电影购票网站体验)从提取名次: customer/system/film/location/city/town/room/seat/theatre/reservation/screen/star_time/price/name/location-x-y/laguage/col/row/status/outime.......

2 区分业务主体、实体、属性、实例

主体(各种角色):customer

实体:system、film、screen、room、seat、city、theatre、...

属性:price/start_time/location-x-y/out-time/status....

3:将各个名次归类,分到相应的问题域:包括:1影院选择location case包括:  location(city、town、customer、system,theatre),2电影选择:选择电影film,选择场次screening;座位选择:seat,screen;4订票:reservation.

4:确定模型之间的关系,用UML提供的方法和图例进行领域模型设计,如上图。关键是找准关系以及对应的映射关系(多重关系  1 对 1,  1 对 多,多对多)