文章目录
- 【任务7-1】状态图的基础知识
- 任务描述
- 任务实现
- 1.状态图的概述
- 任务7-5 顺序图的基础知识
- 任务描述
- 实现
- 1.顺序图的概述
- 2.顺序图的组成要素
- (1)对象
- 系统中,各个对象、角色并不是孤立的,它们相互之间通过传
递消息进行交互。 - 交互是系统的一种动态行为特征。
- 这些动态行为表现出协作、消息传递、时间性、顺序性、事件发生、状态转换等各方面的特征,
- 作为系统分析和设计,如何更直观地用图形来表示这些动态行为特征,是相当重要的工作内容。
- UML的状态图、活动图
- 顺序图和通信图,
- 可很好地实现系统的动态建模,清晰地描述系统的动态行为特征
【任务7-1】状态图的基础知识
- 软件中每一对象,
- 在某一时刻,都处于某种特定状态
- 这种状态就是对象接受上一个动作或事件之后的结果。
- 当作用于某对象的某个动作或事件发生了
- 该对象的状态会发生变化,转为另一状态
任务描述
- 任一系统中的对象,在它生命周期中某个时间段或某一时刻,
- 总处某一状态,
- 系统分析员在对系统分析建模时,最先考虑的不是基于活动之间的控制流,
- 而往往是基于状态之间的控制流,
- 因为系统中对象的状态和状态变化最易被发现和理解
- 房间的灯,最易发现的就是灯是亮,还是灭
- 灯亮是因为打开了灯的开关,灯灭是关闭了灯的开关。
- 系统分析员在软件建模时,最佳的方法
- 用UML状态图来分析、展示系统对象状态和状态变化
- 因此,状态图是系统分析建模的一种常用工具和方法。
- 绘制状态图前,掌握状态图的基本知识,
- 状态图中涉及的一些基本组成要素,
- 然后结合具体的项目绘制合理的、清晰的状态图。
- 本任务将需要完成
- 了解状态图的概述
- 了解状态图的组成要素
任务实现
1.状态图的概述
-
也称状态机图,一个状态图显示一个状态机
-
描述系统状态及状态转换的UML图形
-
所有系统对象都有状态
-
状态是对象执行一系列活动
- 或某事件发生所产生的结果。
-
当某一事件发生,对象状态将发生变化,从一个状态转移成另一个状态。
-
状态图通过建立对象的生命周期模型来描述对象随着时间变化的动态行为。
-
表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作( Action)。
-
重点在于描述状态图的控制流。
-
通过状态图可以了解一个对象所能到达的所有状态,以及对象受到某个事件对其状态的影响,展示了对象的状态随时间、事件发生而产
生的变化,还能说明事件是如何改变对象的状态的。 -
图7-1
- 电话机状态图,
- 描述电话机的初始、摘机、拨号、听、说、挂机和终止等各种状态的变化
- 状态图描述对象的状态与状态转换,适合以下两种类型的应用。
任务7-5 顺序图的基础知识
- 系统地动态建模包括状态图、活动图,交互图
- 前介绍状态图
- 和活动图
- 接下来学习交互图的相关知识和技能
- UML2.X共定义4种不同的交互图,
- 即顺序图、通信图、时间图和交互概览图,
- 最广泛的是顺序图和通信图,
- 因此,本项目介绍顺序图和通信图相关知识和建模技能,
任务描述
-
如果要了解汽车,首先要了解汽车的主要结构组成,
-
如发动机、轮胎。
-
要真正了解汽车,就必须了解汽车为什么能驱动运行,各个组成部分是如何实现交互的,各个组成部分如何配合协调从而形成一个整体的、正常运行的系统。
-
前面的项目中已了解了类图和对象图的相关知识和建模技能,但是这些只是从静态结构的角度了解了系统。
-
系统对象并不是孤立的,对象和对象之间是有交互的,因此,还需了解对象之间是如何交互,包括哪些对象参与交互,对象之间交互的消息是什么,这些消息是按什么顺序传递的等,这就需要用到交互图。
- 顺序图作为一种重要交互图,对系统的动态建模起着不可忽视作用
- 顺序图建模前
- 首先须掌握顺序图的基本知识,
- 尤其顺序图中涉及的一些基本组成要素,
- 然后才能结合具体的项目绘制合理的、清晰的顺序图
- 因此,本任务将需要完成如下内容。
- 顺序图的概述。
- 顺序图的组成要素。
实现
1.顺序图的概述
- 也称序列图。
- 顺序图描述对象之间传递消息的时间顺序,表示用例中的行为顺序,强调消息交互的时间顺序,是一种常见的交互图。
- 交互指
- 由语境中的一组对象为达到某个特定目标而相互之间交换的一组消息所构成的行为。
- UML中,顺序图将交互关系表示为一个二维图。
- 横轴是对象轴,交互的对象或角色排列在横轴上。
- 纵轴是时间轴,时间沿垂直向下延伸,交互的消息按时间顺序从上向下排列。
- 如图7-75,描述了空调制冷遥控的顺序图。
- 横轴上排列了使用者、遥控器和空调机等3个交互对象。
- 垂直纵轴上,从上向下按时间先后排列的是“按下制冷按钮”“发出
制冷信号”“启动制冷”“制冷指示灯亮”和“吹出冷风”等5个消息。
- 用户来讲,顺序图可以帮助他们进一步了解业务细节。
- 分析人员来讲,顺序图可帮助他们进一步明确事件处理流程。
- 开发人员来讲,顺序图可以帮助他们进一步了解需要开发的对象和这些对象的操作。
- 于测试人员来讲,顺序图可以帮助他们设计测试用例。
2.顺序图的组成要素
- 表示交互关系的二维图,
- 绘制顺序图时,通常包含对象、生命线、激活期和消息
(1)对象
- 对象( Object)指系统中存在消息交互的元素,可是类对象、参与者或者组件。
- 顺序图中,每一个对象都有对象名,以便唯一标识一个对象。
- 对象名的命名规则有几种形式:
- 包含对象名和类名,中间用冒号隔开,即“对象名:类名”。
- 只有类名,没有对象名的匿名方式,但冒号不能省略,即“:类名”。
- 只有对象名,即“对象名
- 各种建模软件中,顺序图的对象图标,根据对象的类型不同可能不一样
- 例如参与者 实体类对象 边界类对象 控制类对象和一般类对象
- 建模软件就提供不同的对象图标,
- 但都可设置转换成统一的通用图标,即矩形框,对象名在矩形框中。
- 对象的下部有一条被称为“生命线”的垂直虚线
- 如图7-76,表示不同图标的对象
- 顺序图中,对象有两种:
- 系统在运行初始就已经存在的对象,这种对象的图标位于顺序图的顶部;
- 系统在运行过程中创建的,这种对象的图标位置往往不在顺序图的顶部。
- 但现在很多建模软件针对这两种对象,其图标位置没有区别,不管是哪种对象其图标位置都放在顺序图的顶部。