UML之状态图

状态图——Statechart Diagram

描写叙述一个实体基于事件反应的动态行为,显示了该实体怎样依据当前所处的状态对不同的事件做出反应的。

通常我们创建一个UML状态图是为了下面的研究目的:研究类、角色、子系统、或组件的复杂行为。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="800" height="400" >

状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。

状态的概念

状态是对象运行某项活动或等待某个事件时的条件。对象可能会在有限的时间长度内保持某一状态。

状态的特征

名称:将一个状态与其它状态区分开来的文本字符串。状态也可能是匿名的,这表示它没有名称。

进入、退出操作:在进入和退出状态时所运行的操作。

内部转移:在不使状态发生变更的情况下进行的转移。

子状态:状态的嵌套结构,包含不相连的(依次处于活动状态的)或并行的(同一时候处于活动状态的)子状态。

延迟的事件:未在该状态中处理但被延迟处理(即列队等待由还有一个状态中的对象来处理)的一系列事件。

转移的概念

转移是两个状态之间的关系,它表示当发生指定事件而且满足指定条件时,第一个状态中的对象将运行某些操作并进入第二个状态。

当发生这样的状态变更时。即“触发”了转移。

在触发转移之前。可觉得对象处于“源”状态;在触发转移之后,可觉得对象处于“目标”状态。

转移的特征

源状态:转移所影响的状态;假设对象处于源状态,当对象收到转移的触发事件而且满足警戒条件(假设有)时。就可能会触发输出转移。

事件触发器:使转移满足触发条件的事件。

当处于源状态的对象收到该事件时(如果已满足其警戒条件),就可能会触发转移。

警戒状态:一种布尔表达式。

在接收到事件触发器而触发转移时,将对该表达式求值;假设该表达式求值结果为True,则说明转移符合触发条件。假设该表达式求值结果为False。则不触发转移。

假设没有其它转移能够由同一事件来触发。该事件就将被丢弃。

操作:可运行的、不可切割的计算过程,该计算可能直接作用于拥有状态机的对象,也可能间接作用于该对象可见的其它对象。

目标状态:在完毕转移后被激活的状态。

注意:一个转移可能有多个源状态,在这样的情况下。它将呈现为一个从多个并行状态出发的结合点;一个转移也可能有多个目标状态,在这样的情况下,它将呈现为一个到多个并发状态的叉形图。

时间: 2024-11-05 12:14:45

UML之状态图的相关文章

UML-状态图,顺序图,活动图

一.编写用例文档 1.用例的内容:   用例编号   用例名  执行者  前置条件  后置条件  基本路径  扩展路径  字段列表  业务规则 非功能需求  设计约束 前置条件必须是系统能够检测到的   必须是系统在用例开始前就能检测到的. 基本路径注意点:  1. 不要有太多专业术语 2.使用主动语句    3.句子以系统或者执行者作为主语 4.每一句要向目标迈进(比如:用户输入个人信息,个人信息参见字段列表) 5.分支和循环   (使用扩展路径)  6.不要涉及界面细节 检查用例模型    

【UML】状态图Statechart diagram(转)

前言 UML由动态图和静态图组成,状态图就是属于动态图中较为重要的一张图. 定义 用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移. 目的 研究类.角色.子系统.或组件的复杂行为. 组成元素 状态 定义:指在对象的生命周期中的某个条件或者状况,在此期间对象将满足某些条件.执行某些活动活活等待某些事件. 表示方法:圆角矩形.初态和终态(Initial and Final States):初态用实心圆点表示,终态用圆形内嵌圆点表示. 转移 定义:两个状态之间的一种关系,

UML学习——状态图(四)

1.什么是UML状态图 UML状态图是描述类对象可能经历的所有状态的模型图,描述了对象基于事件反应的动态行为.显示实体根据当时的状态做出具体的动作. 2.UML类图的作用. UML类图的作用是研究类对象,角色,子系统或者其他组件之间的实时行为. 3.UML状态图的绘制 3.1 状态图的模型组成元素 状态,转换,时间 3.2状态的表示法 状态由两部分组成:名称和内部动作 名称:表示状态的名字 内部动作:表示进入或者走出此状态的应该执行的动作.内部动作可以分为以下四种类型. entry:表示进入该状

UML学习-状态图

1.状态图概述 状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action).一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(State Machine Diagram),重点在与描述状态图的控制流.如下图例子,状态机描述了门对象的生存期间的状态序列,引起转移的事件,以及因状态转移而伴随的动作(Action). 2.状态图元素 1.状态(Sta

【转】UML的9种图例解析

UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法). 3) 类的属性即类的数据职责,类的操作即类的行为职责 一.依赖关系(Dependence) 依

UML软件建模学习与开发基本概念汇总

UML,统一建模语言,对于软件工程专业的学生而言,是一门非常重要的技术,对于从事软件行业的的开发人员,设计人员等等,更是不可或缺的,同样是为了大学阶段的非常boring的考试,花费了不少时间整理考试资料,现在和大家一起分享. 真题汇总 1. 什么是用例图?用例图有什么作用? 定义:由参与者.用例以及他们之间的关系构成的用于描述系统功能的图称为用例图. 作用: (1) 用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通. (2) 用

如何进行系统分析与设计

概述 首先,系统是什么?根据<系统架构>一书的定义,系统是由一组实体和这些实体之间的关系所构成的集合,其功能要大于这些实体各自的功能之和.对于我们的场景,系统可能是 App.Web 应用.服务.批处理程序等,也可能是包括所有这些的一个大系统. 随着互联网和传统企业的结合越来越深入,业务会越来越复杂.我们该如何设计我们的系统呢? 从产品到研发 从产品作出原型,到研发编程实现,中间有巨大的鸿沟.越复杂的业务需求,这条鸿沟就越大.一般而言,我们至少还要有两个步骤:业务分析与架构设计. 业务分析,主要

UML状态图和活动图

UML状态图和活动图 统一建模语言UML(Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制品的开放方法.UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效. UML定义了5类,10种模型图: 1.用例图:从用户角度描述系统功能,并指各功能的操作者.2.静态图:包括类图,包图,对象图.   类图:描述系统中

umlの状态图

前面讲述了活动图,那就从活动图的基础上来分析状态图.我们知道活动图侧重从行为的动作来描述活动,而与之相对状态图侧重从行为的结果来描述状态.在实际项目中,活动图并不是必须的.一般在以下情况需要使用活动图: a.描述一个并行的过程或者行为 b.描述一个算法 c.描述一个跨越多个用例的活动 而状态图描述了一个具体对象的可能状态以及它们之间的转换.联系了这么多以前的内容,那么到底什么是状态图呢.状态图用来描述一个特定对象的所有可能的状态以及由于各种事件的发生而引起的状态之间的转移.为了更好的区分状态.状