- UML教程
- UML - 主页
- UML - 概述
- UML - 构建块
- UML-架构
- UML - 建模类型
- UML - 基本符号
- UML - 标准图
- UML - 类图
- UML - 对象图
- UML - 组件图
- UML - 部署图
- UML - 用例图
- UML - 交互图
- UML - 状态图
- UML - 活动图
- UML - 总结
- UML 2.0 概述
- UML 2.0 - 概述
- UML 有用资源
- UML - 有用的资源
- UML-知识测试
- 公用事业
- UML - 工具和实用程序
- UML - 讨论
UML - 状态图
图的名称本身就阐明了图的用途和其他细节。它描述了系统中组件的不同状态。这些状态特定于系统的组件/对象。
状态图描述了状态机。状态机可以定义为定义对象不同状态的机器,这些状态由外部或内部事件控制。
下一章将解释活动图,它是一种特殊的状态图。由于状态图定义了状态,因此它用于对对象的生命周期进行建模。
状态图的目的
状态图是用于对系统的动态特性进行建模的五个 UML 图之一。它们定义对象在其生命周期内的不同状态,并且这些状态会因事件而改变。状态图对于反应式系统建模非常有用。反应式系统可以定义为响应外部或内部事件的系统。
状态图描述了从一种状态到另一种状态的控制流程。状态被定义为对象存在的条件,并且当触发某些事件时对象会发生变化。状态图最重要的目的是对对象从创建到终止的生命周期进行建模。
状态图还用于系统的正向和逆向工程。然而,主要目的是对反应系统进行建模。
以下是使用状态图的主要目的 -
对系统的动态方面进行建模。
对反应式系统的生命周期进行建模。
描述对象在其生命周期内的不同状态。
定义状态机来对对象的状态进行建模。
如何绘制状态图?
状态图用于描述不同对象在其生命周期中的状态。重点关注某些内部或外部事件导致的状态变化。对象的这些状态对于准确分析和实现它们非常重要。
状态图对于描述状态非常重要。状态可以被识别为特定事件发生时对象的状况。
在绘制状态图之前,我们应该澄清以下几点 -
确定要分析的重要对象。
识别状态。
识别事件。
以下是状态图示例,其中分析了 Order 对象的状态
第一个状态是进程开始时的空闲状态。下一个状态是针对发送请求、确认请求和调度订单等事件到达的。这些事件负责订单对象的状态更改。
一个对象(这里是订单对象)的生命周期中会经历以下几个状态,并且可能会出现一些异常退出。这种异常退出可能是由于系统的某些问题造成的。当整个生命周期完成时,就认为是一个完整的事务,如下图所示。对象的初始状态和最终状态也如下图所示。
在哪里使用状态图?
从上面的讨论中,我们可以定义状态图的实际应用。状态图用于对系统的动态方面进行建模,就像本教程中讨论的其他四个图一样。然而,它在动态性质建模方面具有一些显着特征。
状态图定义了组件的状态,这些状态变化本质上是动态的。其具体目的是定义事件触发的状态变化。事件是影响系统的内部或外部因素。
状态图用于对系统上运行的状态和事件进行建模。在实现系统时,阐明对象在其生命周期内的不同状态非常重要,状态图就是用于此目的。当这些状态和事件被识别后,它们被用来建模,并且这些模型在系统的实现过程中使用。
如果我们看一下Statechart图的实际实现,那么它主要用于分析受事件影响的对象状态。此分析有助于了解系统执行期间的Behave。
主要用法可以描述为 -
对系统的对象状态进行建模。
对反应系统进行建模。反应式系统由反应式对象组成。
识别导致状态更改的事件。
正向和逆向工程。