状态图的内容说明完了以后,本文说明EA中各种的画法。

创建状态图

打开【Project Brower】中根节点的上下文菜单,选择【Add】-【Add View...】项目。

输入名称,选择【Dynamic】项目以后,按下【OK】按钮。

打开生成的View节点的上下文菜单,选择【New Diagram】项目。

输入名称,选择【UML Behavioral】分类中的【State Machine】项目以后,按下【OK】按钮。

添加初始伪状态

从工具栏中拖动如下图的初始伪状态图标到状态图作业区。

添加完了状态

从工具栏中拖动如下图的完了状态图标到状态图作业区。

添加状态

添加状态要素

从工具栏中拖动如下图的状态图标到状态图作业区,并通过属性对话框设定状态名称。

添加行为

选择状态图中的状态图形,打开上下文菜单,选择【Features&Properties】-【Operations】项目

Action类中可以选择的项目有,entry/exit/do分别对应状态的进入行为/退出行为和doActivity行为。

添加迁移

添加迁移线

从工具栏中选择如下图的迁移图标,让后从一个状态拖动鼠标到另外一个转台。

设定迁移属性

双击迁移线,打开迁移属性设定画面。

Guard:设定迁移的监护条件

Effect:设定迁移的效应行为

Triggers-Name:设定触发条件名称,可以为迁移设定多个触发条件。

Triggers-Type:选择触发条件的种类,可以选择Call/Signal/Change/Timne。

Triggers-Specification:根据出发条件的类型,填写补充信息。

Triggers关联信息输入完成后按下【Save】按钮,对应的出发条件会表示在下面的列表中。

添加选择伪状态

从工具栏中拖动如下图的选择伪状态图标到状态图作业区。

在状态和选择伪状态之间添加迁移线并为离开选择伪状态的迁移先设定监护条件。

需要补充说明的是,下面两种表示方式都是有效的。

添加内部迁移

首先添加一条向状态本身迁移的迁移线并添加触发条件和效应行为。

打开迁移属性对话款,进入【Gereral】分类,切换到【Advanced】属性页,选个【kind】项目的内容为【internal】。

完成上述操作以后,迁移的表示方式会发生变化。

如果重新设定内部迁移的属性,双击图形中内部迁移的部分即可。

以上就是今天的文章,欢迎点赞,关注并推荐给您的朋友!
更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】

EAUML日拱一卒-状态图::基本要素画法相关推荐

  1. EAUML日拱一卒-状态图::庖丁解牛

    思考题答案 前两个问题只有读者自己知道,所以省略. 用什么方法才能发现这些问题呢? 继续关注本公众号,并且勤加练习.<-你可以说是广告,管他呢. 应该如何解决这些问题呢? 两个字:分解 四个字: ...

  2. EAUML日拱一卒 总目录

    用例图 EA&UML日拱一卒 用例图开篇 EA&UML日拱一卒 用例包含关系 EA&UML日拱一卒 用例泛化关系 EA&UML日拱一卒 用例扩展关系 类图 EA& ...

  3. EAUML日拱一卒--序列图(Sequence Diagram)::生命周期

    在实际的程序中,创建对象,删除对象这样的控制对象生命周期的处理可以说比比皆是. 创建对象 下面以图形编辑软件中用户双击鼠标创建新对象为例说明. 处理流程: 用户双击鼠标. Framework生成QMo ...

  4. EAUML日拱一卒 用例图开篇

    创建用例图 在Package节点上调出上下文菜单. 选择[Add Diagram...] 选择[UML Behavioral]分类,选择[Use Case]图面类型. 上图中红框部分就是用例图常用的图 ...

  5. EAUML日拱一卒-微信小程序实战:位置闹铃 (15)-实现监控点状态迁移功能

    简单地设计以后,就可以开始着手实现了. 接近监控点 enterAlarmCheck: function (distance, accuracy){ if (this.state == 'ready') ...

  6. EAUML日拱一卒-活动图:: 对象流

    如果你足够细心,应该可以注意到上一篇文章最后的示例流程中,有一个地方与众不同,就是下图中红框中的部分. 这部分就是今天的内容,对象流. 语义 控制流(control flow)描述了两个活动节点之间执 ...

  7. EAUML日拱一卒--类图::对象图(object diagram)

    对象图的功能 类图用于说明类以及类之间的关系,但是它相对抽象,有时会比较难理解.比如下面的例子: 上图是一个图形编辑软件的例子,我们有一个超类Shape和它的五个子类.其中ShapeComposite ...

  8. EAUML日拱一卒--序列图(Sequence Diagram)::交互和交互使用

    画时序图就和写作文一样,经常会遇到一发而不可收的情况,结果就是得到一个巨大的时序图.这种情况下,作者首先会因为完成了一件大工程而感到自豪,可是一旦他把完成的时序图拿给别人看或者是需要维护的时候就开始意 ...

  9. EAUML日拱一卒-微信小程序实战:位置闹铃 (6)-播放音频

    昨天停更了一天,不是作者偷懒,而是掉到了一个坑里.本来以为播放音频很简单,但是还是遇到的各种问题,比如: 1)小程序无法播放手机存储目录中的文件,只能播放网上的或者是小程序暂存的文件. 2)播放暂存文 ...

最新文章

  1. butter滤波器是iir吗_如何快速设计一个IIR滤波器
  2. 秒秒钟揪出张量形状错误,这个工具能防止ML模型训练白忙一场
  3. zimbra xxe+ssrf 导致 getshell
  4. linux动态链接库---一篇讲尽
  5. AngularJS+RequireJS集成环境
  6. 基于 abp vNext 和 .NET Core 开发博客项目 - 使用Redis缓存数据
  7. java 无法继承抽象类_java抽象类可以被继承吗?
  8. JavaFX官方教程(十四)之转换,动画和视觉效果教程的源代码
  9. 06-linux下Elasticsearch安装 设置Elasticsearch
  10. [bzoj1717][Usaco2006 Dec]Milk Patterns 产奶的模式 (hash构造后缀数组,二分答案)
  11. CODEVS1067:机器翻译(模拟水题)
  12. GO WBE学习笔记
  13. 郝斌 mysql_郝斌 SqlServer2005 学习笔记
  14. 解决虚拟机桥接模式ping不通主机
  15. Excel如何批量快速从复杂文本中提取汉字
  16. 手机群控软件的运行环境台式机/HUB配置分享
  17. Android软件安装工具-APK安装器
  18. markdown的checkbox综述
  19. AirServer 7.3.0中文版手机设备无线传送电脑屏幕工具
  20. 国外军事信息网站爬虫源

热门文章

  1. 2021SC@SDUSC Linux内核—原生异步I/O(2)
  2. 期货都有哪些类型和玩法?
  3. C语言Hello world代码
  4. java高级——认识网络
  5. 汽车滤纸-市场现状及未来发展趋势
  6. CCNP-EBGP环回口建立邻居之间启用IGP的效果
  7. 华云大咖说 | 安超DCM运维场景解决方案
  8. 端午节书法作品楷书内容_端午节毛笔字
  9. volice java_Volice~亡者之声~
  10. 用python对某校园热水服务app进行测试,实现自动免费用水(仅供参考)