有人可以简要解释域类图和设计类图之间的区别吗?
我在Yahoo answers找到了解释, 但我发现它很混乱。
答案 0 :(得分:30)
域模型在数据库建模中称为概念模型,而设计模型称为逻辑模型
这些区别也用于模型驱动开发,我们有三种类型的模型:
虽然系统建模包括信息和流程建模,但您似乎只关注信息建模。在这里,我们可以使用术语“域类图”和“设计类图”作为概念信息模型和以UML类图形式制作的信息设计模型。
[后来在2016年9月和2019年3月添加了以下说明/图表]
概念模型和设计模型之间以及设计模型和实现模型之间的一对多关系如下图所示:
考虑到信息/类/数据建模,我们得到以下图片:
作为一个例子,说明了从概念到设计到实现的派生链如何工作,请考虑以下人员/人概念/类的模型:
域模型是在软件工程项目的分析阶段生成的问题域的独立于解决方案的描述。术语“概念模型”通常用作“域模型”的同义词。域模型可以包括域的状态结构的描述(在概念信息模型中)和其过程的描述(在概念过程模型中)。它们与解决方案无关,或“与计算无关”,因为它们不关心任何系统设计选择或其他计算问题。相反,他们关注的是所考虑领域的主题专家的观点和语言。
在设计阶段,首先是一个独立于平台的设计模型,作为给定软件工程问题的通用计算解决方案,是在域模型的基础上开发的。可以使用相同的域模型来生成表示不同设计选择的许多(甚至是根本上)不同的设计模型。然后,通过考虑从架构风格,要最大化的非功能性质量标准(例如,性能,适应性)和目标技术平台的许多实现问题,从设计模型导出一个或多个平台特定的实现模型。
答案 1 :(得分:14)
如果您的重点是图本身,那么关于域模型的图和关于设计模型的图之间存在两个很大的区别:(至少这是Larman的书应用UML和模式说)
在表示域模型的UML图中,您不能使用箭头。所有类都与一条线相互关联,这表示“关系”,你应该在线上使用文本注释来说明它的确切关系。在设计模型中,你必须使用箭头,所有类型的箭头:关联,继承...等
在设计模型中,您必须指定属性和方法等的类型,而在域模型中,您只需要编写它们而不需要任何其他内容(就像在现实世界中一样)。例如,设计模型中的value: int
将在域模型中写为value
。
参考:应用UML和模式第3版第9章和第16章。
答案 2 :(得分:3)