UML—状态图

 一,什么是状态图?

      状态图用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移.

二,状态图内容

   状图图中包括: 状态

                             转换

                             起点

                             终点

如图:

  

当支票被创建时,支票为未支付的状态,当支票被付款后,支票变成已支付的状态,然后支票作废。

1,状态

状态是指在对象的生命期中满足某些条件,执行某些活动或等待某些事件时的一个条件或状况。

一个状态有以下几个部分:

1,名称name

2,进入协作或退出动作entryaction/exit
action

3,内部转换internal
transition

4,子状态substate

5,延迟事件deferred
event

如图,状态示例:

2,转换

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

一个转换由5部分组成:

源状态source
state

事件触发event
trigger

监护条件 guard condition

动作action

目标状态 target state

三,状态机

  状态机是这样一种行为,它描述了一个对象或一个交互在生命周期内响应事件所经历的状态序列。

  单个类或一组类之间协作的行为可以用状态机来描述。

  一个状态机涉及到一些其他元素,包括状态,转换(从一个状态到另一个状态的流),事件(触发转换的)

四,比较活动图和状态图

  状态图侧重从行为的结果来描述,而活动图侧重从行为的动作来描述。

  从应用方面看,

在实际项目中,活动图并不是必须的.一般在一下情况需要使用活动图:

描述一个并行的过程或者行为.

描述一个算法

描述一个跨越多个用例的活动.

 

状态图描述了一个具体对象的可能状态以及它们之间的转换.

活动图更像流程图,注重逻辑和流程;而状态图则注重状态之间的转变。

如图,下图是一个大楼建造的活动图,主要描述了大楼建造的过程,其中建造和交易处理是并行的,体现了活动图可以描述并行活动的特点。

 

如图,为一个状态图(转换条件省略),主要是描述了各个状态的转换过程,对比上面的活动图,可以非常直观的看出这两种图所要表达的侧重点。

  

时间: 2024-09-20 07:13:37

UML—状态图的相关文章

uml-关于UML状态图里状态的对象问题

问题描述 关于UML状态图里状态的对象问题 状态图的里状态的对象是系统本身么?那个状态不是用户使用系统要进行的步骤吧? 解决方案 状态图中作为状态的对象不一定是整个系统.可以是任何实体.

UML状态图概述

状态图,英文名曰-Statechart Diagram,她是系统的动态方面建模的五种图之一,一个状态图显示了一个状态机,在为对象的生命期建模中,她发挥着重要的作用,展示了单个对象内从状态到状态的控制流. 从实质上来讲,她是一种由于状态.变迁.时间和活动组成的状态机.一般而言,状态图是对类所描述设施的补充说明,描述了类的所有对象可能具有的状态以及引起状态变化的事件.举个简单的例子,灯有两种状态,开着的状态,关闭着的状态,现在我们一起来学习一下状态图的有关知识,首先,看一下知识概览: 在了解状态图之

UML——状态图

  状态图描述了一个实体基于事件反应的动态行为,显示了该实体在当前状态下对不同时间做出的反应.简单点说就是一个特定对象的所有可能状态由于各种事件的作用而导致的状态之间的转化.   状态图的图符是一个圆角矩形,其他元素跟活动图大致相同,但是两种图存在本质的区别.   状态图和活动图的区别:   状态图主要描述是从一个状态到另一个状态的转换,而活动图是从一个动作到另一个动作的转换.状态图是行为的结果,活动图是行为的动作.   以学生上机为例的状态图:  

UML面向对象分析与建模-【6】状态图

  一.概述 在一般的面向对象技术中,状态图又称为状态迁移图.描述了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的迁移.大多数面向对象技术都使用状态图来描述一个对象在其生命周期中的行为. 二.状态 在所有动态图(序列图.协作图.状态图.活动图)中,消息是作为对象间的一种通信方式来表示的.消息包括简单消息.同步消息和异步消息.可以将一个简单消息和同步消息合并成一个消息. 在UML中,对于状态的定义着重于对象行为的规则,状态描述了一个对象生命周期中的一个时间段.它可以用三种附加方

UML软件设计基础(UML图详解)

UML软件设计基础(UML图详解) 作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分. (1) UML语义 描述基于UML的精确元模型定义.元模型为UML的所有元素在语法和语义上提供了简单.一致.通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响.此外UML还支持对元模型的扩展定义. (2) UML表示法 定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准.这些图形符号和文字所表达的是应用级的模型,在语义

给sshpermissions加入工作流

第一章 引言 1.1 编写目的 在sshpermissions中加入工作流部分,主要整合的是jbpm4.4.并且将流程设计器和业务做了初步的整合.同时也修改了前期的一些bug. 1.2 关于jbpm JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理.工作流.服务协作等领域的一个开源的.灵活的.易扩展的可执行流程语言框架.jBPM是公开源代码项目,它使用要遵循 ASL(Apache License Version 2.0)和E

从工作流状态机实践中总结状态模式使用心得

 作者:banq 发表时间:2003年12月07日 00:10 回复 原贴网址:http://www.jdon.com/jivejdon/thread/10981.html   状态模式好像是很简单的模式,正因为状态好像是个简单的对象,想复杂化实现设计模式就不是容易,误用情况很多. 我个人曾经设计过一个大型游戏系统的游戏状态机,游戏状态可以说是游戏设计的主要架构,但是由于系统过分复杂和时间仓促,并没有真正实现状态模式. 目前在实现一个电子政务项目中,需要进行流程状态变化,在电子政务设计中,我发现

JBPM工作流开发经验总结

关于JBPM工作流 1.工作流 工作流是一项分离业务操作和系统流程的技术.工作流由实体(Entity).参与者(Participant).流程定义(Flow Definition).工作流引擎(Engine) 四部分组成. l  实体是工作流的主体,是需要随着工作流一起流动的物件(Object).例如,在一个采购申请批准流程中,实体就是采购申请单:在公文审批流程中,实体就是公文. l  参与者是各个处理步骤中的责任人,可能是人,也可能是某个职能部门,还可能是某个自动化的设备: l  流程定义是预

网络游戏测试过程

游戏测试起因近几年来,网络游戏成了网络最新的弄潮儿,从盛大之传奇般的掘起,吸引了无数公司的眼球.但由于随着玩家的品位的升高,代理费用的上升,单一的代理国外游戏的模式已经很难在国内立足,而有中国传统文化特色的网络游戏则在国内大受欢迎,比如剑侠情缘,大话西游等一些国内的精典之作已经进入了一流网游的阵营.与此同时随着大家对网游稳定性,可玩性要求的升高,网络游戏测试开始成为大家关注的话题.游戏测试与软件测试的区别游戏测试作为软件测试的一部分,它具备了软件测试所有的一切共同的特性:测试的目的是发现软件中存