UML--状态建模

状态模型是描述响应外部激励而发生的操作序列。状态模型有多个状态图组成,每个类对应一个状态图,描述对应用程序而言的重要的时序行为。状态图用有限状态机的图形表示法,联系起事件和状态事件表示外部激励,状态表示对象的取值。

事件

事件是指在某个时刻发生的事情。事件包括错误事件和普通事件。
信号事件
信号事件指发送或接收信号的事件。每次信号传输都是唯一时间,会把它们组织成信号类,并赋予每个信号类一个名字,表示公共的结构和行为。

信号类和事件
变更事件
变更事件是指满足布尔表达式而引起的事件。变更事件的意图是要不断测试表达式——无论何时只要表达式由假变真,事件就会发生。变更事件的表示方式:采用关键词when,后跟着用括号括起的表达式。
变更事件
时间事件是指在绝对时间上或者某个时间间隔内发生的事情所引起的事件。时间事件的表示方法:++绝对时间++使用关键词when,后跟着用括号括起的包含时间的表达式。++时间段++的表示法采用关键字after,后面跟括号括起的时间间隔的表达式。
事件事件

状态

状态是对象取值和链接的抽象。根据对象的总体行为,将取值和连接的集合组成一个状态。状态的表示方法:包括可选状态名的圆角方框,约定使用黑体在圆角方框内列出状态名。

状态

事件与状态

迁移指从一个状态到另一个状态的瞬时变化。从原状态到目标状态一发生变化,就说是触发了迁移。
警戒条件指为了要让迁移发生而必须为真的布尔表达式。在状态变成真之后,迁移就不会触发。注意:警戒条件仅触发一次,变化时间实际上要连续检查的。
警戒迁移

状态图说明了有事件序列引起的状态序列;结点是状态,有向弧是状态间的迁移。类中的所有对象都执行该类的状态图,状态图会建模对象的公共行为。
电话状态图示例
单触发器的国际象棋状态图

状态图行为

活动效应
效应是对为响应是按而执行的行为的引用。活动是由效应触发的实际行为,可以表示内部控制操作。活动的执行条件包括:迁移,进入或退出某状态以及收到状态内的其他事件。活动的表示方法:用 / 和活动名称(或描述),跟在引起活动的时间后面。关键词do来表示正在进行的活动,不能用作时间名称。

弹出菜单活动
do活动指持续了一段时间的一项活动,只在某状态内出现,不能附到迁移上。表示方法:”do /”表示对象处于在某种状态下的全部或者部分持续时间内执行的do活动。do活动会被在执行过程中收到的某时间中断,此时间可能会,也可能不会引起迁移,离开包括do的活动状态。
复印机Do活动
进入和退出活动进入活动的标识方法:在状态框内显示关键词entry和字符 “/” 。 无论何时只要有到达迁移进入某状态,进入活动就会执行。进入活动等同于把活动链接到每个到达的迁移上,如果到达迁移已经有一项活动,就会优先执行此活动。
迁移上的活动
进入状态的活动
某内部状态和转移
备注:退出活动的表示方法:在状态框内显示关键词exit和字符 “/”。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容