【问题标题】:What is the difference between a domain class diagram and a design class diagram?领域类图和设计类图有什么区别?
【发布时间】:2014-02-11 11:33:32
【问题描述】:

谁能简单解释一下领域类图和设计类图的区别?

我在Yahoo answers上找到了解释, 但我觉得这很混乱。

【问题讨论】:

    标签: uml modeling


    【解决方案1】:

    领域模型在数据库建模中称为概念模型,而设计模型称为逻辑模型 .

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

    1. (独立于解决方案)领域模型源自系统分析或开发项目初始阶段的领域/需求工程;
    2. (与平台无关)设计模型源自细化阶段的系统设计活动,通常基于领域模型
    3. (特定于平台)实现模型,可能是(例如,JavaScript 或 Java EE)类模型、SQL 表模型或其他类型的数据模型源自信息设计模型。

    虽然系统建模包括信息建模和流程建模,但您似乎只关心信息建模。在这里,我们可以用“领域类图”和“设计类图”来表示概念信息模型和以UML类图形式制作的信息设计模型。

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

    考虑信息/类/数据建模,我们得到以下图片:

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

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

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

    另请参阅 Open Access 书籍章节 Information ModelingDeriving a Table Model from an Information Design Model

    【讨论】:

      【解决方案2】:

      UML 没有这样的图表

      Enterprise Architect 有领域模型 - 查看wiki

      至于“类设计图”,EA、VP UML 或UML 本身都不知道。我认为,通常的类图形式的 UML 意味着。

      【讨论】:

        【解决方案3】:

        如果您的重点是图表本身,那么关于领域模型的图表和关于设计模型的图表之间有两个很大的区别:(至少这是拉曼的书应用 UML 和模式说)

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

        2. 在设计模型中你必须指定属性和方法等的类型,而在领域模型中你只需要编写它们而不需要任何额外的东西(就像在现实世界中一样)。比如设计模型中的value: int,在领域模型中会写成value

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

        【讨论】:

        • 域模型中不能是value: Integer吗?
        猜你喜欢
        • 1970-01-01
        • 2022-11-02
        • 1970-01-01
        • 1970-01-01
        • 2022-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多