UML期末复习题——2.3:UML State Diagram

第三题  状态图

重要概念:

1.定义:事件、状态和转换:

  事件:指一件值得注意的事情的发生。

  状态:指对象在事件发生之间某时刻所处的情形。

  转换:两个状态之间的关系。它表明当某事件发生时,对象从先前的状态转换到后来的状态。

2.状态无关和状态依赖对象

  如果一个对象对某事件的响应总相同,则认为此对象对该事件状态无关(或非模态)。例如,如果对象接收某个消息,响应该消息的方法总做相同的事情,则该对象对于该消息状态无关。如果,对所有事件,对象的响应总是相同的,则该对象是一个状态无关对象

  相反,状态依赖对象对事件的响应根据对象的状态或模式而不同

3.有关准则:

  a.考虑为具有复杂行为的状态依赖对象而不是状态无关对象建立状态机图

  b.一般来讲,业务信息系统通常只有少数几个复杂的状态依赖类,对此,状态机建模通常作用不大。与此相反,在过程控制、设备控制、协议处理和通信等领域通常有许多的状态依赖对象。如果你在这些领域工作,应该熟悉和考虑使用状态机建模。

4.状态图主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)。一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机,重点在与描述状态图的控制流

5.绘制状态机图步骤

绘制状态机图的理想步骤是:寻找主要的状态,确定状态之间的转换 ,细化状态内的活动与转换,用复合状态来展开细节

  a.寻找主要状态:对于航班机票预订系统而言,显然包括的状态主要有 -- 在刚确定飞机计划时,显然是没有任何预订的,并且在有人预订机票之前都将处于这种“无预订”状态 -- 对订座而言显然有“部分预订”和“预订完”两种状态 -- 而当航班快要起飞时,显然要“预订关闭” 总结一下,主要有四种状态:无预订、部分预订、预订完以及预订关闭

  b.确定状态间转换。表格进行表示:表格横向是转出,表格纵向是转入

  c.细化状态内的活动与转换

  d.使用复合状态

6.转换的5要素:

  •源状态:即受转换影响的状态

  •目标状态:当转换完成后对象的状态

  •触发事件:用来为转换定义一个事件,包括调用、改变、信号、时间四类事件

  •监护条件:布尔表达式,决定是否激活转换、

  •动作:转换激活时的操作

绘制要点:

  具体方法见:http://www.cnblogs.com/ywqu/archive/2009/12/17/1626043.html

        http://www.cnblogs.com/sura/archive/2012/07/01/2572083.html

  在这里,直接引用了两篇我觉得已经讲的很详细的介绍。

  第一篇概念性的描述较多,第二篇实例较多,可根据不同需要进行理解。

注意事项:

A.注意状态图的对象是什么。它可能是一个system,也可能是一个用例,也可能是一个对象,一定要看清楚题目要求画什么东西的状态图

B.画系统和用例的状态图一般是画它的过程,而画对象的状态图是画它的生命周期。

C.然后就是找状态了,一定要知道状态变量是什么,一定要能枚举状态有哪些情况。

D.接下来是操作。

1、 识别状态图的对象

2、 识别状态:考试是有组合状态的。

3、 转换边:

  格式:触发事件 [监护条件] / 动作

  触发事件:触发转换的事件,包括调用、触发信号、时间等(对象或系统里面创建什么计划,发生什么变化

  监护条件(guard):决定是否能转换的条件,监护条件为true才能转换

  动作:转换被激活时会发生的操作(外部发生的事件

  √ 事件一般用被动语态写出来(用被动语态写出来的叫做触发,如onKeyPressed,一般是与代码对应的函数名相同的)。

  √ 如果程序显式告诉你,“如果什么,怎么样”,则一定要写guard,否则要扣分

  √ 动作可以不写,写错了要扣分

  √ 一定要在连线上写出各种条件!

  √ 文档详细告诉有何状态,一定要完整写出

E.状态图不一定有终点,一定有起点

试题答案:

时间: 2024-08-05 00:15:34

UML期末复习题——2.3:UML State Diagram的相关文章

UML期末复习题——2.6:Package Diagram

第六题 包图 重要概念: 1.包图(package Diagram) 由若干个包以及包之间的关系组成.包是一种分组机制,其将一些相关的类集合为一个包,形成高内聚,低耦合的类集合,可以说,一个包相当于一个子系统. 2.简要介绍: 包图是一种维护和描述系统总体结构的模型的重要建模工具,通过对包中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系.在面向对象软件开发的视角中,类显然是构建整个系统的基本构造块.但是对于庞大的应用系统而言,其包含的类将是成百上千,再加上其间“阡陌交纵”的关联

UML期末复习题——2.8:UML Design Class Diagram(DCD)

第八题:设计类图 重要概念: 1. 类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系的一种静态模型.UML用类图表示类.接口及其关联. 2. 表示类元属性的方法: a.属性文本:如currentSale:Sale b.关联线表示法 c.两者兼有 属性文本表示法的完整格式:visibility name : type multiplicity = default {property-

UML期末复习题——2.9:UML Deployment Diagram

附加题:部署图 重要概念: 1. 部署图表示的是,如何将具体的软件制品(例如可执行文件)分配到计算节点(具有处理服务的某种事物)上.部署图表示了软件元素在物理架构上的部署,以及物理元素之间的通信(通常通过网络进行). 2. 部署图中最基本的元素是节点. 有两种节点: a.设备节点——具有处理和存储能力,可执行软件的物理(电子数字式)计算资源,例如典型的计算机或移动电源. •设备(<device>):没有处理能力的节点,至少是不关心其处理能力的节点.例如打印机.IC卡读写器,如果我们的系统不考虑

UML期末复习题——2.5:System Sequence Diagram &amp; Post-condition

第五题:系统顺序图 重要概念: 1.对象: 对象是特定行为与属性的集合. 对象的表示方式有三种: a.包括对象名和类名 b.只有类名. c.只有对象名 2.消息表示形式: 消息用于描述对象间交互的方式及内容. 消息分为四种:同步消息.异步消息.返回消息.自关联消息 a.同步消息:一个对象向另一个对象发出同步消息后,将处于阻塞状态,一直等到另一个对象的回应. 表示方式: b.异步消息:一个对象向另一个对象发出异步消息后,这个对象可以进行其他的操作,不需要等到另一个对象的响应. 表示方式: c.返回

UML期末复习题——2.7:UML Sequence Diagram

第七题:顺序图 重要概念: 1. 顺序图的主要介绍,在之前对第5题“系统顺序图”的解析讲解里已经很详细了,在这里只是对部分不全面的内容进行补充. 第五题:系统顺序图&后置条件 http://www.cnblogs.com/xiaolongbao-lzh/p/4609306.html 2. 实例的创建 UML中要求在创建实例是使用虚线表示.实心箭头表示常规的同步信息,开放箭头表示异步调用. 3. 对象生命线和对象的销毁 在某些情况下,需显式表示对象的销毁.例如当使用没有自动垃圾回收机制的C++时,

UML期末复习题——2.2:UML Activity Diagram.

第二题:活动图 重要概念: 活动图:一种有助于使工作流和业务过程可视化的图. 绘制要点: 具体方法见:http://www.cnblogs.com/xiaolongbao-lzh/p/4591953.html 注意事项: 1.一定要有起点终点,起点只有一个,终点可以有多个(活动终点.流程终点) 2.有箭头的线,如果有循环一定有归并节点,如果有条件的话,一定要写guard(写在guard里面会自动加上左右中括号[ ]的,guard在constraint选项卡里面). 3.作图时不要追求画的太详细,

UML期末复习题——2.1:Use Case Diagram

第一题:用例图 重要概念: 1.采用参与者和参与者目标的观点: 一组用例实例,每个实例是系统所执行的一系列活动,以此产生对特定参与者具有价值的客观结果. 短语“对特定参与者具有价值的客观结果”是细微而又重要的概念,它主要强调了需求分析的两个态度. · 关注系统的用户或参与者来编写需求,询问其目标和典型情况. · 关注理解参与者所考虑的有价值结果. 2.如何发现用例 具体步骤: (1)选择系统边界 (2)确定主要参与者 (3)确定每个主要参与者的目标 (4)定义满足用户目标的用例,根据其目标对用例

UML期末复习题

看了网上的各种UML图的相关资料,找到的都是差不多一样的对图的基本介绍.之前复习的时候也想对不同UML图单独进行复习总结,后来发现这样复习好像没什么用,不能理解每个图之间的关系,所以就没有进一步总结.现在打算针对一个具体的系统对其进行分析,依次画出考试中要求画出的9种图,以便更好的了解作图的规则和要求,以及图之间的关系. 这是考试的试题 这是试题中涉及到的系统简介

UML期末复习题——2.4:Domain Model

第四题:领域模型 重要概念: 1. 领域模型:是对领域内的概念类或现实世界中对象的可视化表示.领域模型也称为概念模型,领域对象模型和分析对象模型. 2. 应用UML表示法,领域模型被描述为一组没有定义操作的类图.它提供了概念透视图.它可以展示: 1)领域类之间的关联 2)概念类之间的关联 3)概念类的属性 领域模型是可视化字典,表示领域的重要抽象.领域词汇和领域的内容信息. 3. 如何找到概念类 1)重用和修改现有的模型:这是首要.最佳且最简单的方法.   2)使用分类列表   3)通过识别名词