UML实践-用例图、顺序图、状态图、类图、包图、协作图2009-01-20 作者:Randy Miller 来源:网络面向对象的问题的处理的关键是建模问题。建模可以把在复杂世界的许多重要的细节给抽象出。许多建模工具封装了UML(也就是 Unified Modeling Language),这篇课程的
UML状态图Tag内容描述:
1、UML实践-用例图、顺序图、状态图、类图、包图、协作图2009-01-20 作者:Randy Miller 来源:网络面向对象的问题的处理的关键是建模问题。建模可以把在复杂世界的许多重要的细节给抽象出。许多建模工具封装了UML(也就是 Unified Modeling Language),这篇课程的目的是展示出 UML的精彩之处。UML中有九种建模的图标,即: 用例图 类图 对象图 顺序图 协作图 状态图 活动图 组件图 配置图本课程中的某些部分包含了这些图的细节信息的页面链接。而且每个部分都有一个小问题,测试一下你对这个部分的理解。为什么 UML很重要?为了回答这个问。
2、本文和大家重点讨论一下 UML 活动图和状态图的概念,这两种图都有各自的特点和作用,那么他们之间有什么区别和联系呢,请看本文详细介绍。UML 活动图和状态图一、UML 活动图:流程图常被用来建立算法模型UML 活动图与流程图类似,不同在于它支持并行活动.缺点:不能清楚的表示二、作用:1、描述一个操作的执行过程中所完成的工作或者动作2、描述对象内部的工作3、描述用例的执行4、处理多线程5、显示如何执行一组相关的动作,以及这些动作如何影响周围对象三、以下情况不用 UML 活动图1、显示对象之间的合作2、显示对象在其生命周期内的运。
3、1,WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING,第八章 状态图和活动图 教学目标:了解状态图、活动图的概念,基本组成、设计原则和应用领域教学要求:能建立简单的状态图和活动图,2,第8章 状态图和活动图,8.1 状态机 8.2 状态图 8.3 状态 8.4 事件 8.5 转换 8.6 状态图建模技术 8.7 实例图书馆管理系统的状态图 8.8 活动图概述 8.9 活动图的组成元素 8.10 活动的分解 8.11 活动图建模技术 8.12 实例图书馆管理系统的活动图,WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING,第八章 状态图和活动图,3,8.1 状态机,状态机是展示状态与状态转换的。
4、1UML 建模风格之状态图UML 状态图描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。通常我们创建一个 UML 状态图是为了以下的研究目的:1. 研究类、角色、子系统、或组件的复杂行为。 2. 建模实时系统。 指南概要当行为的改变和状态有关时才创建状态图把初始状态放置在左上角把最终状态放置在右下角状态指南状态名称要简单但应具有描述性避免 “黑洞 “状态避免 “奇迹 “状态子状态建模指南为复杂的目标建模子状态把通用的子状态变换放在一起为复杂的实体创建一个分层的状态图最高阶的状。
5、UML 建模之状态图(Statechart Diagram) 状态图目录:一、状态图简介(Brief introduction)二、状态图元素(State Diagram Elements)1、状态(States)2、转移(Transitions)3、动作(State Actions)4、自身转移(Self-Transitions)5、组合状态(Compound States)6、进入节点(Entry Point)7、退出节点(Exit Point)8、历史状态(History States)9、并发区域(Concurrent Regions)三、状态图案例分析(State Diagram Example Analysis)四、总结(Summary)一、状态图简介(Brief introduction)状态图(Statechart Diagram)。
6、分析类、分析模型,1、面向对象分析概念 分析类:边界类、控制类、实体类2、基于用例的分析建模 识别分析类 定义交互行为 建立分析类图 检查分析模型,分析类,分析类的概念在分析模型中,分析类是概念层次上的内容,用于描述系统中较高层次的对象。分析类直接与应用逻辑相关,而不关注于技术实现的问题。 分析类的类型实体类:表示系统存储和管理的永久信息边界类:表示参与者与系统之间的交互控制类:表示系统在运行过程中的业务控制逻辑,实体类,实体类描述必须存贮的信息及其相关行为通常对应现实世界中的“事物”实体类与数据库中的表对。
7、复习:顺序图、协作图,顺序图(sequence diagram): 用来描述为了完成确定事务,对象之间按照时间消息交互的顺序关系。,协作图(collaboration diagram): 用来描述为了完成确定事务,各对象之间消息联系的结构关系。,对象,消息,状态图 活动图,1.1 什么是状态图 1.2 状态图的要素 1.3 状态图的作用,1 状态图,面向对象方法在进行系统分析时,与传统方法的需求分析一样,有时应分析对象的状态,画出状态图,才能正确地认识对象的行为并定义它的服务。 并不是所有的类都需要画状态图,有明确意义的状态,在不同状态下行为有所不同的类才需要画状。
8、UML 建模风格之状态图UML 状态图描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。通常我们创建一个 UML 状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。建模实时系统。指南概要当行为的改变和状态有关时才创建状态图。把初始状态放置在左上角。把最终状态放置在右下角。状态指南状态名称要简单但应具有描述性。避免“黑洞“状态。避免“奇迹“状态。子状态建模指南为复杂的目标建模子状态。把通用的子状态变换放在一起为复杂的实体创建一个分层的状态图最高阶的。
9、相册的状态图当博主/游客进入相册主页时,系统将进入登陆状态,博主/ 游客可以进入浏览照片状态,浏览留言状态,博主还可以进行添加照片状态或者删除照片状态,这些所有状态都进入返回状态,当不再需要时进入关闭状态。相册的活动图当有登陆活动时,将有三个活动可选,对相册的查看活动,对留言的查看活动,以及对相册管理的活动。当留言时,系统将提示是否确认,不是,返回。是,留言。。
10、UML 状态图规范说明一、状态图简介状态图( Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。通常我们创建一个 UML 状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。状态机用于对模型元素的动态行为进行建模,更具体地说,就是对系统行为中受事件驱动的方面进行建模(请参见概念:事件与信号)。状态机专门用于定义依赖。
11、8.7 实例图书馆管理系统的状态图,8.7.1 使用Rational Rose绘制状态图的步骤 8.7.2 图书馆管理系统的状态图,8.7.1 使用Rational Rose绘制状态图的步骤,1. 创建状态图 2. 状态图工具栏按钮简介 3. 加入初始状态和终止状态 4. 增加状态 5. 增加转换 6. 增加历史状态,8.7.2 图书馆管理系统的状态图,1. 书的状态图 2. 借阅凭证的状态图,1. 书的状态图,2. 借阅凭证的状态图,。
12、状态图,1、什么是状态图,一个状态图表示一个状态机。主要用于表现从一个状态到另一个状态的控制流。 状态图由表示状态的节点和表示状态之间转换的带箭头的直线组成。,状态(1.1节),转换(1.2节),事件(1.3节),动作(1.4节),状态图,1.1、什么是状态?,是指在对象生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件和状况 。 对象的任何一个属性都是一个状态,全部状态构成一个庞大的状态空间。,名称,进入/退出活动,子状态,内部转换,延迟事件,状态,状态名称 Entry(进入动作) Exit(退出动作) Do(内部活动),延迟事件是。
13、实验七 状态图一、实验目的与要求理解状态图的概念、作用、组成,绘制状态图。二、实验原理简单的说状态图用来表达对象状态的改变。状态图主要由元素状态、转换、初始状态、终止状态、判定。状态由一个带圆角的矩形表示,状态的描述应该包括:名称、入口和出口动作、内部转换和嵌套状态。转换用带箭头的直线表示,一端连接源状态,箭头指向目标状态。转换还可以标注与此转换相关的选项,如事件、监护条件和动作等,如果转换上没有标注触发转换的事件,则表示此转换自动进行。一个状态图只能有一个初始状态,用一个实心的圆表示。 终止状态。
14、动态模型vs 静态模型,动态模型描述系统与操作时间和顺序有关的系统方面、影响更改的事件、事件的序列、事件的环境以及事件的组织,1,动态模型的作用,2,3,4,二、状态图(State Diagram),状态图是系统分析的一种常见工具,用于描述系统的行为。 实体的生存期比较复杂时,需要状态图对其建模。 UML中的状态图主要用于建立对象类或对象的动态行为模型,表现一个对象所经历的状态序列,引起状态或活动转移的事件,以及因状态或活动的转移而伴随的动作。,5,主要内容,1. 状态机 2. 状态 3. 转移 4. 组合状态 5. 状态图的应用,6,3.1 状态机1 状态。
15、UML,状态图,课程目标,掌握状态图的定义、符号 掌握状态图的动作和事件 掌握状态图的建模方法 掌握活动图的定义、符号、条件 掌握活动图的建模方法,3,本讲内容,状态图的定义、符号 状态图的动作和事件 状态图的建模方法 活动图的定义、符号、条件 活动图的建模方法,状态图的定义,状态图用来建模对象是如何改变其状态以响应事件和展示对象从创建到删除的生命周期。状态定义为对象行为在某一个时刻的快照或者转折点。例如,计算机的状态可以定义为开机、启动、工作中、空闲、关机和离线等。状态图的任务就是用来描述一个对象所处的可能状态以。
16、What is UML?,统一建模语言 描述问题、描述解决方案、起沟通作用 用文本、图形和符号的集合来描述 贯穿软件开发周期中的每一个阶段 数据建模、对象建模和组件建模,UML的图,UML 1.x 用例图 类 图 对象图 状态图 活动图 顺序图 协作图 组件图 部署图,UML2.0 新增 包图 组合结构图 交互纵览图 计时图,UML的图,结构图(Structural): element of spec. irrespective of time: emphasize the things that must be present 类图(Class) 组件图(Component) 部署图(Deployment) (对象图)Object 组合结构图(Composite structure) 包图(Packa。
17、软件开发生命周期与统一建模语言,第8章 状态图与活动图,软件开发生命周期与统一建模语言,协作图的定义 协作图的建模过程,回顾,软件开发生命周期与统一建模语言,状态图的定义 状态图的建模 活动图的建模,学习目标,软件开发生命周期与统一建模语言,8.1 状态图(Statechart Diagram),状态机 用于描述一个对象在其生存期间的动态行为,响应事件所经历的状态序列以及伴随的动作。 状态图 用于描述状态机,一个状态机可以用多个状态图描述。,状态图与交互图的区别 交互图为了显示某个特定的用例某个特定的场景下对象发生了哪些交互 状态图描述。
18、状态图,Agenda,状态和状态机 如何阅读状态机图 如何绘制状态机图 状态机图应用说明 本章小结,Agenda,状态和状态机 如何阅读状态机图 如何绘制状态机图 状态机图应用说明 本章小结,状态、状态表示法及状态机,状态是指在对象生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件和状况 一个状态通常包括名称、进入/退出活动、内部转换、子状态和延迟事件等五个部分组成状态机是计算机科学理论的一部分,但UML中的状态机模型主要是基于David Harel所做的扩展,是用来展示状态与状态之间转换的图,Agenda,状态和状态机 如何阅读状态。
19、状态图是系统分析的一种常用工具 它通过建立类对象的生存周期模型来描述对象随时间变化的动态行为 状态机 状态机是展示状态与状态转换的图 通常一个状态机依附于一个类 并且描述一个类的实例 状态机包含了一个类的对象在其生命周期间所有状态的序列以及对象对接收到的事件所产生的反应 状态机由状态 转换 事件 活动和动作5部分组成 状态图 一个状态图表示一个状态机 主要用于表现从一个状态到另一个状态的控制流 状。
20、复习,1、UML的作用是什么? 规范软件开发过程,对系统从不同角度进行建模。 2、包括哪些建模图形? 用例图、活动图、状态图、顺序图、通信图、部署图等。 3、软件开发过程可以分为哪几个阶段? 计划、需求分析、软件设计、编码实现、运行维护,第9章 状态图,本节主要内容,状态图的组成部分。 状态、跃迁、触发事件和护卫条件的描述。 状态图的画法。,思考,描述以下对象都有哪些状态 一部机器 人 线程,状态图是系统中一个对象所具有的各种状态和这个对象从一个状态到另一个状态的转换。,运行、停止、报废,睡觉、运动、吃饭,执行、就绪、阻塞。