评估UML类图
假设我绘制了一个UML类图,表示我的项目的类和接口结构。在实际创建这些类和接口之前,是否有任何方法来评估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规范方面的语法和语义有效性?在您的图中,您使用
type,它不属于UML的基本类型。这是一种依赖于语言的类型李>void
- 模型的完整性和准确性,关注潜在的歧义和缺失信息?在您的图表中,
例如可能是Animal.eats()
。但是,缺少这些信息是否意味着它不是抽象的李>{abstract}
- 评估类设计,例如其复杂性、继承的深度、关系的强度、相互依赖性等?但是,当一些领域天生就很复杂时,这又如何帮助发现一个糟糕的设计呢李>
- 可行性,但并没有精确定义其背后的语义。例如,在C++中,你可以很好地处理这个设计的代码< <动物>代码>。在Java中,多重继承是被禁止的,并且这是不可实现的(您需要修改此模型以引入接口和使用)。在这里,我们不会重新开放
有一些通用度量(例如),其中一些可以是类图(例如,6个CK度量中只有3个)。指标不是评估,但它们可以帮助分析师完成这项任务 你的模型说任何
家畜
都是猫
和狗
。“在我的世界里,这似乎是不正确的。”格尔特贝勒肯斯我展示了这张图片来举例说明我的问题。可能不像你说的那么准确。