域类图和设计类图之间有什么区别?

use*_*895 19 uml modeling

有人可以简要解释域类图和设计类图之间的区别吗?

我找到了雅虎答案的解释,但我发现它很混乱.

Ger*_*ner 32

一个域模型被称为概念模型在数据库建模,而设计模型被称为逻辑模型.

这些区别也用于模型驱动开发,我们有三种类型的模型:

  1. (解决方案无关的)域模型,由域/需求工程在系统分析或开发项目的初始阶段产生
  2. (平台无关的)设计模型,由精化阶段的系统设计活动产生
  3. (特定于平台的)实现模型,它们源自设计模型

虽然系统建模包括信息和流程建模,但您似乎只关注信息建模.在这里,我们可以使用术语"域类图"和"设计类图"作为概念信息模型和以UML类图形式制作的信息设计模型.

[以后的文字/图表已于2016年9月添加]

概念模型和设计模型之间以及设计模型和实现模型之间的一对多关系如下图所示:

模型细化中的一对多关系

作为说明从概念到设计到实现的派生链如何工作的示例,请考虑以下人员/人员概念/类的模型:

从概念到设计再到实施

域模型是在软件工程项目的分析阶段中生成的问题域的独立于解决方案的描述.术语"概念模型"通常用作"域模型"的同义词.域模型可以包括域的状态结构的描述(在概念信息模型中)和其过程的描述(在概念过程模型中).它们与解决方案无关,或"与计算无关",因为它们不关心任何系统设计选择或其他计算问题.相反,他们关注所考虑领域的主题专家的观点和语言.

在设计阶段,首先是一个独立于平台的设计模型,作为给定软件工程问题的通用计算解决方案,是在域模型的基础上开发的.可以使用相同的域模型来生成表示不同设计选择的许多(甚至是根本上)不同的设计模型.然后,通过考虑从架构风格,要最大化的非功能性质量标准(例如,性能,适应性)和目标技术平台的许多实现问题,从设计模型导出一个或多个特定于平台的实现模型.

另见http://web-engineering.info/book/WebApp1/ch05s03.html


xji*_*xji 14

如果您关注的是图表本身,那么关于领域模型的图表和关于设计模型的图表之间存在两个巨大差异:(至少这是Larman书中应用UML和模式所说的)

  1. 在表示域模型的UML图中,您不能使用箭头.所有类都与一条线相互关联,这表示"关系",你应该在线条上使用文本注释来说明它究竟是什么关系.在设计模型中,你必须使用箭头,所有类型的箭头:关联,继承......等

  2. 在设计模型中,您必须指定属性和方法等的类型,而在域模型中,您只需要编写它们而不需要任何其他内容(就像在现实世界中一样).例如,value: int在设计模型中将编写为value域模型.

参考:应用UML和模式第3版第9章和第16章.