Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
评估UML类图_Uml_Associations_Multiple Inheritance_Class Diagram_Class Design - Fatal编程技术网

评估UML类图

评估UML类图,uml,associations,multiple-inheritance,class-diagram,class-design,Uml,Associations,Multiple Inheritance,Class Diagram,Class Design,假设我绘制了一个UML类图,表示我的项目的类和接口结构。在实际创建这些类和接口之前,是否有任何方法来评估UML设计 示例:众所周知,下图将导致菱形问题。必须改变或处理 UML是一种功能强大的设计语言。它是独立于编程语言的(尽管它偏向于基于类的语言),因此允许设计一些在某些语言中无法实现但在某些其他语言中却微不足道的东西 真正的问题是您对评估的期望: 模型在符合UML规范方面的语法和语义有效性?在您的图中,您使用voidtype,它不属于UML的基本类型。这是一种依赖于语言的类型 模型的完整性和

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

示例:众所周知,下图将导致菱形问题。必须改变或处理


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

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

  • 模型在符合UML规范方面的语法和语义有效性?在您的图中,您使用
    void
    type,它不属于UML的基本类型。这是一种依赖于语言的类型
  • 模型的完整性和准确性,关注潜在的歧义和缺失信息?在您的图表中,
    Animal.eats()
    例如可能是
    {abstract}
    。但是,缺少这些信息是否意味着它不是抽象的
  • 评估类设计,例如其复杂性、继承的深度、关系的强度、相互依赖性等?但是,当一些领域天生就很复杂时,这又如何帮助发现一个糟糕的设计呢
  • 可行性,但并没有精确定义其背后的语义。例如,在C++中,你可以很好地处理这个设计的代码< <动物>代码>。在Java中,多重继承是被禁止的,并且这是不可实现的(您需要修改此模型以引入接口和使用)。在这里,我们不会重新开放
这里每天都会对图表进行系统回顾。这种评估的目标是查看符号是否与UML规范一致,以及最终是否与所选对象的约束一致。有一些研究探索了这种一致性评估的自动化

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


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

你的模型说任何
家畜
都是
。“在我的世界里,这似乎是不正确的。”格尔特贝勒肯斯我展示了这张图片来举例说明我的问题。可能不像你说的那么准确。