gpt4 book ai didi

uml - 评估 UML 类图

转载 作者:行者123 更新时间:2023-12-04 10:58:26 26 4
gpt4 key购买 nike

假设我画了一个 UML 类图来表示我的项目的类和接口(interface)结构。在实际创建这些类和接口(interface)之前,是否有任何方法可以评估 UML 设计?

示例:已知下图会导致菱形问题。并且必须更改或处理。

enter image description here

最佳答案

UML 是一种强大的设计语言。它独立于编程语言(尽管它偏向于基于类的语言),因此允许设计在某些语言中无法实现但在某些其他语言中微不足道的东西。

真正的问题是您对评估的期望:

  • 句法和语义有效性模型是否符合 UML 规范?在您的图表中,您使用 void type,不属于UML的原始类型。它是一种依赖于语言的类型。
  • 完整性和准确性模型,着眼于潜在的歧义和缺失的信息?在您的图表中,Animal.eats()例如可能是 {abstract} .但是缺少这些信息是否表明它不是抽象的?
  • 类(class)设计评价 ,比如它的复杂性、继承的深度、关系的强度、相互依赖等等……?但是,当某些领域本身就很复杂时,这如何有助于发现糟糕的设计呢?
  • 可行性 ? UML allows for multiple inheritance ,但并未准确定义其背后的语义。例如,在 C++ 中,您可以使用 virtual inheritance 很好地应对这种设计。的 Animal .在 Java 中,多重继承是被禁止的,这将无法实现(您需要更改此模型以引入接口(interface)并使用 interface realization )。现在在这里,我们不会重新打开 debate about MI .

  • 每天都会在这里对图表进行系统回顾。此类评估的目标是查看符号是否与 UML 规范一致,并最终与所选 UML profile 的约束条件一致。 .有一些 research papers探索这种一致性评估的自动化。

    设计目前不是高度自动化的;因此,据我所知,没有系统的方法来评估设计。

    有一些通用指标(例如 CK metrics ),其中一些可以是 calculated for UML类图(例如,6 个 CK 指标中只有 3 个)。指标不是评估,但它们可以帮助分析师完成这项任务。

    关于uml - 评估 UML 类图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59018825/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com