UML之状态图(State Diagram)

    状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的,状态描绘了对象的动态生命周期。在对象的整个生命周期中,它的状态是会发射功能变化的,而状态机就是用来表示一个对象在它的生命周期中响应事件所发生的状态变化以及对事件的响应。

    下面来看一个实例:“人”就是一个类,而“你”,“我”都是“人”这个类的一个实例,“站着”,“躺着”等都是对象的一个状态,从不同个的角度描述就可能有不同的状态。在比如我们敲机房的时候一个卡号是否在“上机”、“退卡”等都是状态,然而在画状态图的时候离不开之前学的活动图,那么,它们有什么区别呢?

  状态图与活动图区别: 

状态图侧重从行为的结果来描述(状态)

活动图侧重从行为的动作来描述(活动)


左边是状态图,右边是活动图


下面通过导图来看看状态图


一、状态图的元素


二、画状态图的步骤

1.阅读需求规格说明书

2.读懂系统的用例图

3.阅读用例描述文档

4.根据用例描述文档画出状态转换图。

三、 简单状态图

 一个转换是两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生时满则特定条件时进入第二个状态。

四、机房实例 

1、登陆


五、小结

通过学状态图,我们可以和活动图对比来看,这样学习的效果更好点。

 

### 如何在 Visio 中绘制 UML 状态图 #### 创建新的 UML 模型图 为了开始创建 UML 状态图,需打开包含有特定行为的类或用例的 UML 模型。通过“文件”菜单下的选项进行操作,具体来说是在“文件”菜单上依次选择“新建”,之后选择“软件”,最后点击“UML 模型图”[^1]。 #### 添加状态图至现有元素 对于已有模型中的类或用例,如果希望为其添加状态图,则可在树视图中找到代表这些实体的图标并右键单击之。接着从弹出菜单里选择“新建”,再进一步挑选“状态图”以启动新图表的建立过程。 #### 绘制基础结构 依据标准定义,状态图应至少包含如下几个组成部分: - **初始起点**:表现为实心圆形; - **状态间的转换关系**:由带有开放箭头端部的直线段表示; - **各个离散的状态节点**:采用圆角矩形框展示; - **决策分支点(可选)**:利用空心圆圈标记; - **结束终点**:呈现为空心中嵌套着一个小黑点的大圆环形式[^4]。 ```mermaid stateDiagram-v2 [*] --> State1 : 初始事件触发 State1 --> State2 : 条件满足 State2 --> [*] : 完成条件达成 ``` 此代码片段展示了如何使用 Mermaid 语法简单地构建一个仅有两个中间态及起始/终结节点的小规模状态迁移路径。 #### 注明转变原因 每当描绘从一种状况变迁到另一种的情况时,务必记录下促使这种变化发生的因素或刺激源。这是区分于其他类型图形表达的关键特征之一[^3]。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值