- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想建模一个在指定时间过去后发生的方法和一个随类和序列图消失的属性。
情况是这样的: worker 在他们使用机器的工厂工作。每台机器可供 0-10 名 worker 使用。每台机器都有维修时间限制, worker 必须在规定的时间内进行维修。它也有一个时间限制,如果 worker 错过维修,机器爆炸并且一个或多个 worker 死亡(比第一个更大)。有不同的机器。其中一些时间限制较长,一些时间限制较短。所有的机器都是机器上油的,持续一段时间,它会逐渐失去力量,直到消失。此值对所有机器都相同。
我看到 repaireTime 和 explodeTime 的这个解决方案可以处理 qualifires 计算耗时,但我没有看到 tick 如何增加限定符值。它的行为像这样的属性吗?
最后,机油消失的原理是什么?这只是一个必须删除的属性,但我不明白在哪里计算耗时然后删除它。
最佳答案
您的序列图看起来没问题。
但是您的类图具有误导性:
Machine
和 Timer
之间的导航箭头不利于建议的序列图,它假定 Timer
知道找到 机器
。worker
end 和与 works
end 的关联最终不是相同的关联吗?对于 Machine
和 Worker
之间基于时间的关联,您可以考虑将其设为多对多关联,关联类定义时隙(开始和结束时间,您可以从中计算持续时间)。你可能会发现 here有关如何使用时间段的一些信息(尽管您不需要其他问题中提到的额外约束)。
类图看起来更好。一些建议:
Class
和 Subclass1
可能是 Machine
和 E1
?duration
关联类是特定于 Subclass
还是对任何 Class
都是通用的?在后一种情况下,您应该将其绘制在 Worker
和 Class
之间。没有必要为子类重复它,因为特化会自动继承其泛化的关联、属性和操作。Timer
必须向对象发送消息?因此,依赖关系似乎放错了地方。它不应该与类关联到它应该发送消息的实例吗?Timer
如何知道新的 Duration
对象?它是否需要知道 Duration 对象,或者它不能向机器发送报价,机器会将报价转发给持续时间?在序列图中,无论上述建议的影响如何,重要的是要认识到生命线并不代表类,而是属于类的对象。因此,类名应该以 :
或对象名称和 :
开头。
如果您要进行报价转发,则第二个图表将集成到第一个图表中。然而,如果您要保留它,您应该问问自己 Duration 如何检查 elapsed_time==timeExplode
,因为 timeExplode 是机器的属性而不是持续时间的属性。
关于uml - 在 UML 中建模基于时间的属性和方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64977951/
我是一名优秀的程序员,十分优秀!