第七章 状态图和活动图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
II.3 小 结
活动图的优点和缺点; 何时可使用活动图; 何时不应使用活动图;
UML活动图元语小结。
活动图的优点和缺点
优点:最适合支持并行行为,而且也是支持
多线程编程的有力工具。
缺点:很难清楚地描述动作与对象之间的关
系。虽然在活动旁标出对象名或者采用泳道 技术可以定义这种关系,但仍然没有交互图 简单直接。
转移
注释体 注释连接
II 活动图的基本要素
引
言;
活动图的基本要素;
小结。
II.1 引 言
基本概念;
活动图示例;
活动图的元模型。
基本概念
来源:
活动图主要来源于 Jim Odell 的事件图、 SDL状态建模技术和 Petri 网技术。 成活动图。
从概念层看,活动表示需要由人或计算机来
活动图的核心符号是活动,通过连接将活动组
完成的任务。图中描述了“人找饮料喝”这 一过程。
从说明层或实现层看,活动表示类中的方
法。图中描述了名字为“人”的对象类中一 个关于“找饮料喝”的方法。
活动图示例
人 找饮料
判断条件
[没有咖啡] [找到咖啡]
判定活动
[没有可口可乐] [找到可 口可乐]
相连,说明该注释体是针对该实体所进行 的描述。
活动图例子
活动图例子
课堂作业
某公司的设备采购流程设置为: A、由业务部门提出需求设备清单; B、将需求设备清单交采购部门建立采购采买单据; C、采购部门建立采购单据后,交财务部门,向财务部门 申请款项,预支零用金; D、财务部门建立应付帐款单据后:核支款项; E、采购部门在收到款项后,进行采买; F、采买完成后,执行: (1)发票和剩余款项交财务部: (2)设备交业务部门; G、(a)采购部门:采购单据结案; (b)财务部门:帐款冲销结案;
一种特殊活动,表示活动流程中的判断。 条件判断 通常有多个信息流从它引出,表示决策后 的不同活动分支。 一种特殊活动,表示活动之间的同步。一 同步条 般有一个或多个信息流向它引入,有一个 或多个信息流从它引出,表示引入的信息 流同时到达,引出的信息流被同时触发。 一种特殊活动,若与信号流相连,表示相 信号接收 应信号的接收是某个活动转移的必要条件。 等价于信息流上的事件标识 。 一种特殊活动,若与信号流相连,表示在 信号发送 某个活动转移发生时向某个对象发送一个 信号。等价于信息流上的发送子句。
述;
状态图的基本要素;
状态图的元语。
评 述
状态图、交互图和活动图:状态图适合描述跨
越多个用例的单个对象的行为,不适合描述多 个对象之间的协作行为。交互图适合描述单个 用例中多个对象之间的协作行为。活动图适合 描述多个对象跨越多个用例时的总面貌。
不应对系统中的每个类都画状态图,而只应对
某些关键类建立状态图;而且应将状态图与其 它技术组合使用。
状态图的基本要素
状态:初态、中间状态、复合状态、终态
和并发条。
条件和转移:转移、条件、条件判断标志
和历史标志 。
注释:注释体和注释连接。
状态图的元语
可视化图符 名 称 描 述
初态
State
表示状态图的起始点。
表示状态图的简单状态。
状态图描述系统对象的动态行为,一般描述
I.2 状态图的基本要素
实例:订单对象的状态图; 状态语法和转移语法; 状态的转移条件; 转移条件的互斥性; 状态图的基状态表示法; 并发状态图。
实例:订单对象的状态图
开始
事件名[条件]/动作名
取下一项
[not all items checked] /get first item
若与信号流相连,表示它是与活动图中的 对象进行交互 (接收或发送信号 )的其他对 象;若与数据流相连,表示它是活动的输 入产品或输出产品。
对象
对 象
UML活动图元语小结(续)
可视化图符
泳道
名 称 泳 道
描 述 用于对活动图中的活动进行分组,同一组 活动由一个或多个对象负责完成。
信号接收
信号发送
配置用户
TCP/IP
糖尿病部门服务器
对象数据库 保健区
肝病部门 用户界面
配置图的基本要素
结点:配置图中的结点代表物理设备及其在上运行的软 件系统。结点用一个立方体表示,结点名放在左上角。 图中有“一台多窗口 PC”、“肝病部门服务器”和“糖尿 病部门服务器”等三个结点。 连接:结点之间的连线表示系统之间的通信路径 ( 在 UML 中称为连接),通信类型放在连接旁边的“《》”之间。 构件:而配置图中,每个构件代表一个负责某种专门处 理 ( 即具有某种专门功能 ) 的包。因此,配置图显示了各 个包在系统中运行的分布情况。 接口:一个构件可以有多个接口,以表示出哪些构件与 哪一个接口进行通信。
同步条件
将咖啡放到 过滤器中
把过滤器放 到咖啡炉上
加水到 容器中
取出 咖啡杯
取一听 可口可乐
活动
点燃 咖啡炉 冲调咖啡
熄灭咖啡炉
终点
倒咖啡 喝饮料
活动的元模型
活动的元模型基于 SADT 技术,它包含五个元 素: 输入,输出,支持,控制和活动。
控 制
输 入
活 动
输 出
支 持
II.2 活动图的基本要素
UML活动图元语小结
可视化图符 名 称 描 述 表示活动图中所有活动的起点(一般每幅活 动图有且仅有一个起点)。 表示活动图中活动的终点。一般每幅活动 图有一个或多个终点。 表示活动图所描述的过程中的某一活动。 该活动是原子活动(即不可再被细分)。
起 点
终 点
活 动
活 动
组合活动
组合活动
表示活动图所描述的过程中的某一活动。 该活动可再细分成多个活动(一般用另一张 活动图加以描述)。
配置图用来描述系统硬件的物理拓扑结构以及
在此结构上执行的系统软件。
配置图可以显示计算结点的拓扑结构和通信路
径、结点上运行的软构件、软构件包含的逻辑 单元(对象、类等)。
配置图 示例
肝病部门服务器
对象数据库
保健区
肝病部门配置 配置 医疗知识
肝病部门服务器 应用程序 TCP/IP 一台多窗口PC 肝病部门 客户外观
因此,像大多数建模技术一样,最好把活动
图与其他技术结合使用。
何时可使用活动图
分析用例。能直观清晰地分析用例,了解应当
采取哪些动作以及这些动作之间的依赖关系。 一张完整的活动图是所有用例的集成图。
理解牵涉多个用例的工作流。在难于区分不同
用例而对整个系统的工作过程又十分清楚时, 可以先构造活动图,然后用切片技术派生用例 图。
对外提供的可见操作和属性,称之为构件 的界面。
依赖关系
有两个构件元素X、Y,修改元素X的定义 可能会引起对另一个元素Y的定义的修改, 则称元素Y依赖于元素X。 用于对UML实体进行文字描述。 将注释体与要描述的实体相连。说明该注 释体是针对该实体所进行的描述。
注释体 注释连接
构件图的工具支持
1、正向工程 (1)把建模语言设定为选定语言(如 JAVA、C++等); (2)在类图中创建类; (3)在构件图中添加一个构件; (4)在构件图中选择生成代码;
第七章
行为图: 状态图和活动图
状态图; 活动图。
I 状态图的基本要素
基本概念;
状态图的基本要素;
小
结。
I.1 基本概念
状态图有多种形式,以基于
David Harel 的状 态表方法在 OO 技术中最为流行。 一个特定对象在其生命周期中的所有可能状 态以及由于各种事件的发生而引起状态的转 移条件。
活动;
泳道; 分支; 分叉和汇合; 对象流; 注释体和注释连接。
活动
活动:活动图所描述的过程中的某一原子活
动(即不可再被细分)。
UML中的表示:
泳道
游道是活动图中的区域划分,每个泳道代 表一个责任区,一个泳道可由一个或多 个类实现。
分支
对于同一触发事件,可以根据不同的 警戒条件转向不同的活动,每个可能 的转移是一个分支。
UML活动图元语小结(续)
可视化图符
名 称 信息流 描 述 用于连接活动、组合活动及特殊活动 ( 如 起点、终点、同步条及判断等 ) ,表示活 动的转移。 用于连接活动与对象,表示该对象是该活 动的输入或输出。 将一个信号发送 (或信号接收)与一个对象 相连接,表示向该对象发送 ( 或由该对象 接收)一个信号。 用于对UML实体进行文字描述。 将注释体与要描述的实体相连,说明该注 释体是针对该实体所进行的描述。
分叉和汇合
表示系统或对象中的并发行为。分叉表 示一个控制流被两个或多个控制流代替 ,经过分叉后,这些控制流是并发进行 的;汇合正好相反。
对象流
在活动图中可以出现对象,对象可以作 为活动的输入或输出。对象流表示活动 与对象之间的关系。
注释体和注释连接
注释体:用于对UML实体进行文字描述。
注释连接:用于将注释体与要描述的实体
构件图的基本要素
软构件是一个实际文件,有以下几种:
源代码构件; 二进制构件; 可执行构件。 构件图显示软构件以及它们 ( 编译、链接或执
行时)相互之间的依赖关系以及接口和调用关 系。
UML构件图元语小结
可视化图符
构件
名 称
构 件 界 面
描
述
构件代表可执行的物理代码模块。
do/活动名
发货
收到货物
[some items not in stock]
等待状态
转移
状态
已发货 状态
回授
状态图中的基本概念
状态
转移
事件
动作 UML表示格式: (entry|do|event|exit)/action-express
手机短信状态图
作业
作业答案
I.3 小 结
评
状 态
中间状态
State
复合状态
复合状态 终态 条件判断 标志
表示状态图的复合状态,可细化为多个子 状态,用“或”和“与”两种关系相连。
表示状态图的终点。
表示状态间的条件分支转移。
状态图的元语(续)
可视化图符 名 称 并发条 H 历史标志 表示并发状态。 用于对复合状态中的某个子状态做标志, 说明该子状态是退出复合状态时最后所处 的状态。 用于说明两个对象间存在某种关系,如满 足某个条件并当某一事件发生时,对象将 从一个状态变迁到另一个状态并同时执行 一些活动。 用于对UML实体进行文字描述。 将注释体与要描述的实体相连,说明该 Note是针对该实体所进行的描述。 描 述
构件图示例
circle类 (circle.cpp) circle类 (circle.obj) 图形库 (graphic.dll)
square类 (square.cpp)
square类 (square.obj)
main类 (main.cpp)
依赖 构件
main类 (main.obj)
主执行程序 (main.exe)
数据流 信号流 注释体 注释连接
第九章
构件图
构件图; 配置图。
I 构件图
引言; 构件图示例; 构件图的基本要素;
UML构件图元语小结。
引 言
本章将讨论系统的实现图,即构件图和配 置图,它们显示系统实现时的一些特性。 其中:
构件图显示代码的静态结构(逻辑结构); 配置图显示系统运行时刻的实现结构。
构件图例子
1、生成类图
2、在构件图中添加构件
3、把类赋于组件
4、生成代码
public class A { public B theB[]; /** * @roseuid 42455C70014B */ public A() { }
}
private class B {
/** * @roseuid 42455C700213 */ public B() {
处理多线程应用。采用“分层抽象,逐步细化
”的原则描述多线程。
何时不应使用活动图
显示对象间的合作。用交互图显示对在生命周期内的运转情况。活动图可
以表示活动的激活条件,但不能表示一个对象 的状态变换条件。因此,当要描述一个对象整 个生命周期的运转情况时,应当使用状态图。
} }
逆向工程
ROSE 2003支持逆向工程。可以根据源代 码得到构件图和类图。
II 配置图
引
言;
配置图示例; 配置图的基本要素; UML配置图元语小结。
引 言
配置图是描述任何基于计算机的应用系统 (尤其 是基于 Internet 和 Web 的分布式计算系统)的 物理配置或逻辑配置的有力工具。
活动
检查状态
do/check item
[all items checked && 发货状态 all items available] do/initiate delivery
收到货物
[all items available]
[all items checked && some items not in stock]