首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UML状态图中的依赖项

UML状态图中的依赖项
EN

Stack Overflow用户
提问于 2020-04-09 18:27:35
回答 2查看 118关注 0票数 1

我基本上有一个如下所示的类:

代码语言:javascript
复制
class Stack {
  ...
  push()
  pop()
  isEmpty()
  ...

  class StackIterator extends Iterator {
    ...
    hasNext()
    next()
    ...
  }
}

我想为迭代器创建一个UML状态图。我的想法是使用依赖箭头和堆栈调用来建模迭代器状态,如下所示:

对于这样的情况,这是一个有效的、工业验证的、完全可以理解的UML状态图吗?

EN

回答 2

Stack Overflow用户

发布于 2020-04-09 18:40:15

状态机可以是操作的行为,但是将状态机与类相关联是非常奇怪的,并且不符合UML,因为类没有行为。

状态机之间的依赖在UML中没有预定义的含义。您希望指示类之间的继承关系,但是虽然状态机不必与类关联,但这种依赖关系并不相关

编辑

对于那些对状态机可以作为操作行为的事实持怀疑态度的人,我建议您看看规范:

  • StateMachine继承行为(§14.2.2 of formal 2017-12-5)
  • Operation inherits BehavioralFeature (§9.6.2)
  • a BehavioralFeature is implemented (Implemented) by a Behavior (§9.9.2))

注意操作的行为也可以被支持,因为活动也是一种行为

票数 0
EN

Stack Overflow用户

发布于 2020-04-09 19:42:44

为了显示堆栈的行为,您应该简单地使用活动图。填充/空状态是多余的,您可以很容易地使用[size >=1 ]条件获得pop的保护。

顺便说一句。没有什么是没有尽头的。推送应该有[size < max]或类似的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61119080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档