UML9种图中的状态图

状态图是UML中对系统动态方面建模的图之一,通过建立对象的生命周期模型来描述对象状态随时间变化的动态行为。系统中对象的状态最容易发现和理解的,所以建模时首先考虑基于状态间的控制流。具体来说,
状态图用于描述模型元素的实例的行为,适用于描述状态和动作的顺序,不仅可以展示一个对象拥有的状态,还可以说明事件如何随着时间的推移来影响这些状态。

先来了解下状态机,状态机是一种记录下给定时刻状态的设备,可以根据各种不同的输入对每个给定的变化而改变其状态或引发一个动作,如各种客户端软件、Web上的各种交互页面。状态机由对象的各个状态和连接这些状态的转换组成,可以展示状态和状态转换,用于说明对象在其生命周期中响应事件所经历的状态序列以及对这些事件的响应。

状态机由状态、转换、事件、活动和动作5部分组成。

状态是指对象在生命周期中的一种状况,处于某个特定状态中的对象必然满足某些条件或执行某些动作。

转换是指两个不同状态之间的一种关系。

事件是指发生在时间和空间上的对状态机有意义的事情。

动作是指状态机中可以执行的那些原子操作,所谓原子操作时指对象在运行过程中不能被其他消息中断,必须
执行下去,导致状态的变更或返回一个值。

活动是指状态机中进行的非原子操作。

通常一个状态机依附于类、用例或操作等,并且描述它们对接收到的事件的动态响应过程。状态机总是一个对象、协作或用例的局部视图,考虑问题时将实体与外部分离,所以适合对局部、细节进行建模。

状态图本质上就是一个状态机描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出的反应。状态图的组成:状态、转换、判定、初始状态和终止状态。 下面的图就是一个简单的选课状态图,其中的判定是可选动作,用的到就选用,用不到就不用选择。

状态用于对实体在生命周期中的各种状况进行建模,在UML中由一个带圆角的矩形表示,包括状态名、入口和出口动作、内部转换和嵌套状态。

转换在UML的状态建模机制中,用带箭头的直线表示,一端连接源状态,箭头指向目标状态。转换还可以标注与此转换相关的选项,如果没有标注则表示转换自动进行。

判定:根据给定条件进行判断,然后根据不同的判断结果进行不同的转换,在UML中判定用空心菱形表示。

初始状态:表示状态图的起始位置,且必须要有一个输出的无触发转换。初始状态只能作为转换的源,不能作为转化的目标。在UML中一个状态图只能有一个初始状态,用实心的圆表示。

终止状态:是状态图的终点,状态图中可以有多个终止状态,终止状态不可能有任何形式的触发转换,目的是为了激发封装状态上的完成转换。因此终止状态不能作为转换的源,在UML中终止状态用空心圈实心圆表示。另外,一些特殊的状态图可以没有终止状态。

 

状态图的作用:

1.    清晰的描述了状态间的转换顺序,容易看出事件的执行顺序。

2.    有利于程序员在开发程序时避免出现时间错误的情况。

3.    描述了状态转换时所必须触发的事件、监护条件和动作等影响转换的因素,有利于程序员避免程序中非法时间的进入。

4.    通过判定可以更好地描述工作流应为不同的条件发生的分支。

通过状态图的了解,能清晰的看到在系统状态之间的变化,对系统功能的影响作出更加准确的分析。状态图和活动图两者密不可分,在状态图中的很多概念在活动图中也都有应用,两者集合将展现更加清晰的系统动态状态,

 状态图的更加复杂的应用将在以后的使用中进一步探索。

时间: 2024-08-08 09:27:23

UML9种图中的状态图的相关文章

UML9种图中的序列图和协作图

序列图 序列图是系统动态模型中的一种交互视图,描述了执行系统功能的各个角色之间相互传递消息的顺序,侧重于强调时间顺序,从一定程度上更加详细地描述了用例的需求. 在面向动态行为进行建模时,通过描述一组相关联.彼此相互作用的对象之间的动作序列和配合关系,以及这些对象之间传递.接受的消息来描述系统为实现自身的某个功能而展开的一组动态行为.在面向控制流进行建模时,可以针对一个用例.一个业务操作过程.系统操作过程.整个系统.重点在于消息在系统内如何按照时间顺序被发送.接受和处理的. 序列图的作用: 1. 

UML9种图中的构件图和部署图

        构件图和部署图用来描述系统的物理实现和物理运行情况.其中构件是基本单位,将系统中可重用的模块封装为具有可替代性的物理单元,这种物理单元被称为构件.构件是在一个系统或子系统中的封装单位,提供一个或多个接口,是系统高层的可重用部件,包括软件代码(源代码.二进制代码和可执行文件)或相应组成部分,例如脚本或命令行文件等.         构件作为系统定义良好接口的物理实现单元,可以不直接依赖其他构件而仅仅依赖于构件支持的接口,通过使用接口可以避免在系统中与其他构件之间直接发生依赖关系.

UML9种图

UML图包括九种:用例图.类图.对象图.状态图.时序图.协作图.活动图.组件图.配置图. [记忆技巧] 静态图:部队负包累成狗!     静态-部队(对)负(复)包累(类)成狗(构) (部署图,对象图,复合结构图,包图,类图,构建图) 动态图:制定交通,顺桩活用 (想象汽车考试倒桩)     动态-制定交通,顺桩(状)活用(制品图,定时图,交互概观图,通信图,顺序图,状态图,活动图,用例图) 类图:类图展示了一组类.接口和协作及它们间的关系,在建模中所建立的最常见的图就是类图.用类图说明系统的静

UML9种图之活动图

    活动图是UML的5种动态建模机制之一,是面向过程的说明,描述了业务用例实现的工作流程.活动图也是状态机的一个特殊例子,强调计算过程中的顺序和并发步骤,其中大部分状态都是活动状态,大部分的转换由原状态中的活动的完成触发:即由上一个活动完成后产生的结果对下一个活动产生的影响.     活动图是一中用于描述系统行为的模型视图,用来描述动作和动作导致对象状态改变的结果,而不用考虑印发状态改变的事件.活动图通常记录单个操作或方法的逻辑.用例的逻辑流程.活动图是状态图的一种,所以活动图的符号与状态图

UML9种图的画法

UML是一种建模语言,是系统建模的标准.我们之所以建模是因为大规模的系统设计时相当复杂的,当系统比较复杂时就会涉及到以下这几个问题: 开发人员如何与用户进行沟通来了解系统的需求? 开发人员之间如何沟通以确保各个部门能够无缝地协作? 而UML是我们在构造个特种模型时首选的一种建模工具,去描述系统的需求和设计,在对复杂的工程进行建模时,系统可由单一的图形来描述,但是单一图形不可能包含一个大系统所需的所有信息,更不可能描述系统的整体结构功能,这样一来就几乎不能用单一图形来建模了,而UML能从不同的角度

UML9种图之类图和对象图的组成

在UML中,类图标识了不同的实体,包括人.事务和数据,以及这些实体之间彼此之间的关联.类图通过系统中的类以及各个类之间的关系来描述系统的静态结构,不仅包含了系统定义的各种类,也包含了它们之间的关系,如关联.依赖和聚合等,这种描述在系统的整个生命周期中都是有效的.对象图用于显示系统中各个类的真实对象实例的位置,描述系统在一个特定时间点上的静态结构,是类图的实例和快照. 类图和对象图之间的联系非常紧密:对象图中包含对象和链,其中对象是类的特定实例,链是类之间关系的实例,表示对象之间的特定关系.同时类

UML中的9种图之用例图

在UML的9种图中,用例图是比较重要的一种图,它是在系统的分析阶段产生的图,从功能上对系统进行了分析得出的一种模型,对后续的系统开发起到了高屋建瓴的作用,用例图画好了,那么系统也就离成功不远了.               由参与者.用例和他们之间的关系构成的用于描述系统功能的动态视图称为用例图.用例图是需求分析的产物,从软件需求分析道最后实现的第一步,描述系统的功能性需求,显示了系统的用户和用户希望实现的功能,也是开发人员和用户之间对系统需求进行沟通的一个有效手段.下面来分别进行详细的说明:

解析UML九种图

        UML作为设计工具,重在实践上,而这就离不开九种图了,画图是在看完视频以后进行的,刚开始画图的时候脑袋懵懵的,不知道该从哪下手,于是就在画图之前再次的学习了一下这九种图和四种关系,理了理思路,终于有点了想法,这才开始着手画.UML的九种图包括:用例图,对象图,类图,构件图,部署图,状态图,顺序图,活动图,协作图.四种关系和九种图在UML学习中是重中之重,而在这九种图中最重要的是用例图,类图和顺序图,反复的学习才能将它消化. 一.概念 在这九种图中又可以将他们分成静态图和动态图,静

UML九种图 之活动图和状态图

前言     活动图和状态图组成行为图,它们是对系统的动态描述,它们之间有一定的联系搁一块儿更容易理解.本篇介绍的两个图和上一篇介绍的顺序图和协作图,共同描述系统的行为. 活动图     1. 概念      阐明了业务用例实现的工作流程.     2. 图符           1. 基本要素      活动状态.迁移.判断.保证条件.同步条.起点和终点     2. 作用      (1) 描述执行过程中完成的工作或者动作      (2) 描述对象内部工作      (3) 如何执行相关动