状态机图如何表示为 UML 中操作的行为?

2023-12-23

行为(方法体)可以是状态机或活动 - 活动很容易理解,因为它们相当于过程代码。

我不明白如何将状态机用作操作的行为?

您能提供一个简单的例子吗?

- -笔记 - -

操作是一个仅规范的元素 - 将其想象为 OO 编程语言中的方法签名。它有一个名称和一个参数列表。

行为(除其他外)是操作(或其他行为功能,例如接收)在调用时所做的事情 - 将其想象为方法的主体。


“仅仅因为你可以,并不意味着你应该”。

换句话说:使用状态模型来定义操作的行为可能是合法的 - 但这并不意味着您应该这样做。我从来没有遇到过它有用的场景;但这当然并不意味着它们不存在。这也是某些 UML 规范中缺乏内聚性的症状。

当操作(而不是封闭类)具有有状态行为时,这将是适当的。使用一个真正人为的例子:考虑一种方法TcpConnection.close()。如果连接已经关闭,则调用close()不会有任何影响。如果连接已打开,则调用close()会关闭它。

[但是:作为一个例子,它也说明了为什么我从未发现需要特定于方法的状态模型。状态模型确实属于类,而不属于操作]。

hth.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

状态机图如何表示为 UML 中操作的行为? 的相关文章

  • 是否可以从 MatLab 代码生成流程图? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我继承了一个 MatLab 项目 其中有一堆我需要重构的 MatLab 文件 能够生成流程图或类似的内容对我有很大帮助 我用谷歌搜索了
  • LL 自顶向下解析器,从 CST 到 AST

    我目前正在学习语法分析 尤其是自上而下的解析 我知道术语以及与自下而上的 LR 解析器的区别 并且由于自上而下的 LL 解析器更容易手动实现 所以我期待着制作自己的解析器 我见过两种方法 递归下降使用一组递归函数 基于堆栈和表驱动的自动机为
  • 自动生成我的 C++ 代码的 uml 图

    不久前 我担任 Java 编程入门课程的助教 我们使用了一个名为BlueJ http www bluej org 它有一个很好的功能 即开发文件的概述是一个轻量级的 UML 图 其中绘制了 使用 指针和继承指针 这使得可以轻松查看程序的结构
  • 这是实体关系图还是类图

    嘿 基本上我对类图和 ERD 的区别感到困惑 我创建了一个我认为是 ERD 的东西 但我的室友似乎认为它是一个类图 它是什么 与已接受的答案相反 xmojmr 也注意到这是NOTUML 图 而是实体关系图 ERD 最明显的区别是连接器末端的
  • 活动图 定时事件

    我正在尝试建模以下内容 填写提交表单时 系统每 5 分钟自动保存一次用户进度 这是我尝试过的 但我认为这是不正确的 就我而言 仅在 填写提交 活动完成后才会询问条件 另外 我不想表明用户正在再次开始 填写提交 活动 您将使用由虚线框表示的可
  • 在线求职门户系统用例图

    我想要一个在线求职门户系统的正确用例图 这是我的尝试 我有些疑惑 我看不出在哪里制作 登录 用例 这是该系统的一个重要用例 该用例图没有显示简单访问者和注册访问者之间的区别 前者可以查看职位空缺 查看建议 而无需拥有帐户 后者可以查看职位空
  • 关联类的正确使用

    我是 UML 的新手 我不确定我的图表是否正确 我希望得到比我更有经验的人的建议 我的问题的陈述说 学生学习课程 每个学生可以选修几门课程 每门课程 学习 任何课程都可以有多个学生学习 学生由数字代码识别 有姓名 出生日期和一个或多个国籍
  • 生成随机确定性有限自动机的算法是什么?

    DFA 必须具有以下四个属性 DFA 有 N 个节点 每个节点有 2 个传出转换 每个节点都可以从其他每个节点访问 从所有可能性中以完全一致的随机性选择 DFA 这是我到目前为止所拥有的 从 N 个节点的集合开始 选择一个尚未选择的节点 将
  • 在 NetBeans 7.1.1 中创建 UML 类图

    我想安装 启用 NetBeans 插件来创建和查看 UML 图 如图所示here http wiki netbeans org wiki images b b8 Vista Nimbus Uml Screenshot NBLookAndFe
  • 建模/记录功能程序

    我发现 UML 对于记录 OO 系统的各个方面非常有用 特别是用于总体架构的类图和用于说明特定例程的序列图 我想为我的 clojure 应用程序做同样的事情 我目前对模型驱动开发不感兴趣 只是对交流应用程序如何工作感兴趣 UML 是函数式编
  • 学习 UML 的最佳来源是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 UML 活动图上显示异步操作

    我即将绘制 记录一些客户端 服务器连接建立代码 以更好地理解它 有几个操作是在单独的线程中异步完成的 连接线程 数据接收线程等 我应该在单独的图表上显示它们吗 我更愿意将其放在单个图表上以掌握整体视图 但不知道如何在活动图上表示它 我不确定
  • Eclipse:如何安装 UML2 工具

    我想尝试 UML2 Tools for Eclipse 如图所示本教程 http www vogella de articles UML article html 我目前拥有面向 Java EE 开发人员的 Eclipse 3 6 Heli
  • 多个参与者,相同的用例 [用例]

    我试图描述一个用例 其中系统内的多个参与者可以执行相同的活动 例如 假设 作为示例 我想要使用 更新客户端 用例 但几个已确定的参与者可以执行此操作 Manager Chief Executive Customer Service Repr
  • 在 Papyrus UML 模型中使用 MARTE GQAM 构造型

    我正在尝试使用 MARTE GQAM 构造型来构造模型的某些元素 但在为其某些属性赋值时遇到麻烦 例如 我将两条生命线之间的消息定型为 我想为其 hostDemand 属性分配一个值 该属性应为 NFP Duration 实例 我看不到如何
  • 如何在 UML 序列图中显示实例化?

    如何显示 Web 服务器实例化视图并重新获得流的控制权 也许我没有使用正确的图表类型 非常感谢 Ruben 的答案中的图表是正确的 但缺少一般的 UML 答案 当 创建 线 在本例中为虚线 连接到所创建生命线的框 标签 顶部时 它会创建另一
  • 在用例建模中分解 CRUD

    我有一个后续问题用例图中的 CRUD https stackoverflow com questions 7772399 crud in a use case diagram 如果我需要分解复杂的用例 例如 管理用户 假设这很复杂 可以将它
  • 如何使组合键唯一?

    I am making a database of students in one school Here is what I have so far 如果您不喜欢阅读 请跳至 简而言之 部分 问题是我对这个设计并不满意 我想要的组合gra
  • UML 图 - 在我的应用程序中发送电子邮件被视为外部系统

    我的应用程序有一个联系选项 它将打开带有按摩页面的电子邮件应用程序 并且消息接收者设置为应用程序支持电子邮件 我已附上我的意思的图片 我已将其编写为需求 但不确定如何在系统类图和用例图中说明它 我最初在用例图中所做的是 将我的用户 主要参与
  • UML类图:抽象方法和属性是这样写的吗?

    当我第一次为一个小型 C 项目创建 uml 类图时 我在属性方面遇到了一些麻烦 最后我只是将属性添加为变量 lt

随机推荐

  • Quartz Scheduler 和普通 Java 线程有什么区别

    Quartz Scheduler 和 Java 中的默认线程有什么区别 Quartz Scheduler 是针对调度相关问题的复杂解决方案 它利用核心Java 技术来提供附加且更方便的功能 将其视为比线程概念具有更高抽象级别的更高级别框架
  • iOS 和 Android 的表情符号支持

    我正在尝试开发一个适用于 iOS 和 Android 的应用程序 并在帖子中支持表情符号 目前我正在使用 UTF 8 对字符串 文本和表情符号 进行 Base64 编码和解码 它似乎可以在本机上运行 Android 到 Android 和
  • ..level.. 在 ggplot2 等高线图中

    我发现这个变量有点令人困惑 例如 来自文档 require ggplot2 require reshape2 volcano3d lt melt volcano names volcano3d lt c x y z v lt ggplot
  • 使用 Selenium webDriver 检查网站是否有任何 ssl 证书警告

    我需要自动化一个场景 在该场景中我必须验证该网站没有有关 ssl 证书的警告 如何使用 Selenium WebDriver 2 归档它 SSL 证书警告在每个浏览器上显示不同 因为它们是由浏览器本身生成的 而不是由您尝试访问的网页生成的
  • 对于 S3 中的新对象 PUT,写后读一致性到底意味着什么?

    亚马逊文档 http docs aws amazon com AmazonS3 latest dev Introduction html ConsistencyModel http docs aws amazon com AmazonS3
  • 升级到预览版 6 后 Blazor 子应用程序出现 404 错误

    在 Blazor Preview 5 Net Core 托管 中 我已使用以下命令成功将应用程序配置为 Asp net Core 站点上的子应用程序 app UseRouting app UseEndpoints endpoints gt
  • 在包含不同类型指针的结构之间转换结构指针?

    我有一个结构 定义如下 struct vector TYPE items size t nitems 其中类型实际上可以是任何类型 并且我有一个类似的类型不可知的结构 struct vector generic void items siz
  • 你能在 React Native 中使 render() 方法异步吗?

    我有一个 React Native 组件 需要从异步存储中获取对象才能渲染 像这样的东西 class Class1 extends Component async render let data AsyncStorage getItem d
  • git add 命令失败并继续运行

    我运行命令 git add and get Killed 9 它阻止我运行任何带锁的 git 命令 我的 git 有什么问题 我尝试重新启动 删除目录并从新的存储库开始 我能够通过添加一些东西 不应该在 Git 中 来解决同样的问题 git
  • Fluent NHibernate 错误:实体“ClassMap`1”没有映射的 Id

    我正在将以前的项目从使用普通 NHibernate hbm xml 映射转换为 Fluent NHibernate 目前 我陷入了让这项工作发挥作用的最后步骤之一 我为 DefaultAutomappingConfiguration 添加了
  • VS Code 无法识别 Typescript 内部模块

    我正在尝试使用内部模块将我的打字稿类分隔在单独的文件中 但是 main ts 文件不会加载或识别子模块 main ts
  • 使用最新更新构建发布 apk 时出错

    我最近将我的机器上的 Android Studio 更新到版本 Android Studio 3 1 Build AI 173 4670197 built on March 22 2018 JRE 1 8 0 152 release 102
  • 从 netty ByteBuf 获取字符串

    如何从netty中获取字符串ByteBuf 到目前为止 我能够逐个字符地获取它 有没有办法直接获取字符串对象 message is of type ByteBuf for int i 0 i lt message capacity i by
  • 成为网络安全专家的步骤

    我一直在编码C Matlab 以及用于科学目的的类似语言已经有一段时间了 但我最近想进入网络编程 我已经自学了HTML and CSS我已经涉足Javascript PHP and mySQL 我真的很想开始制作更先进的 用户驱动的网站 如
  • Angular 4+ ngOnDestroy() 投入使用 - 销毁 observable

    在有角度的应用程序中 我们有ngOnDestroy 组件 指令的生命周期钩子 我们使用此钩子取消订阅可观察量 我想清除 销毁在 injectable 服务 我看到一些帖子是这么说的ngOnDestroy 也可以在服务中使用 但是 这是一个好
  • 时间复杂度有何不同?

    如果先存储然后使用该值是否会节省时间 例如 while i
  • Windows Azure 基本身份验证

    我需要在 Windows Azure 上设置一个测试网站 通常为了防止随机的人查看它 我会使用某种简单的密码设置基本身份验证来过滤人员 Windows Azure 似乎没有这个选项 有哪些替代方案 到目前为止 我正在考虑实施另一级别的表单身
  • 如何将所有图像从 ACR 存储库导入到不同租户中的另一个 ACR

    设想 我在 ACR azure 容器注册表 中有 4 个存储库 每个存储库中有多个图像 我想将所有存储库和其中的所有图像移动到不同的 ACR azure 容器注册表 我做了什么 我已使用以下命令将 ACR azure 容器注册表 存储库中的
  • 如何在 Django 中配置注销后重定向到哪里?

    只是想知道我可以在哪里设置注销后重定向到的网址 我知道你可以设置登录网址 我想重定向到我的主页 现代 Django 2017 有一个名为LOGOUT REDIRECT URL 老姜戈 原始答案 您不需要覆盖或包装任何内容 根据文档 您只需提
  • 状态机图如何表示为 UML 中操作的行为?

    行为 方法体 可以是状态机或活动 活动很容易理解 因为它们相当于过程代码 我不明白如何将状态机用作操作的行为 您能提供一个简单的例子吗 笔记 操作是一个仅规范的元素 将其想象为 OO 编程语言中的方法签名 它有一个名称和一个参数列表 行为