UML活动图实例

合集下载

UML-7练习-活动图

UML-7练习-活动图
练 习–活动图
练习:
1.画活动图表示如下“自动售货机”的工作过 程:顾客向机器投币;系统检查钱币的数量; 系统显示可购买的饮料种类;顾客选择想买 的饮料;如果机器无法送出饮料,则系统提 示顾客想购买的饮料缺货,要求顾客重新选 择饮料,否则系统送出饮料;最后,顾客得 到饮料。
投币
检查钱币数 量
显示可购买 种类
练 习 – 类图和用例图
练习:
1.网上选课系统:
– 管理员通过系统管理界面进入,建立本学期要开 的各门课程,将课程信息保存在数据库中,并可 以对课程进行改动和删除。学生通过浏览器根据 学号和密码进入选课界面,在这里学生可以查询 已选课程信息并选课,教师可以选择所上课程并 提交成绩。管理员负责维护各项信息。这些操作 结果存入数据库中。
[ 选择退币 ] 退币
练习:
2.试画出ATM自动取款机“取款” 用例的活动图。
• “取款”用例的事件路径:
• 1.用户选择取款
• 2.系统要求输入取款金额
• 3.用户输入取款金额
• 4.系统验证取款金额
• 4a 余额不足

4a1 系统显示余额不足

4a2 用例终止
• 5.系统询问是否打印凭条
• 6.用户选择不打印凭条
A2:不可选
10. 系统提示课程选择成功,提示学生交费。
• 错误流
A1:验证失败
1. 系统提示验证失败,提示重新输入。 2. 三次失败,拒绝访问 3. 成功,转选课事件流第5步 A2:客场不可选
1. 系统提示课程不可选及原因 2. 学生重新选课 3. 重新验证直至成功 4. 转选课事件流第10部步
[graphics not needed]
[tables not needed]

UML实验——活动图-实验报告

UML实验——活动图-实验报告

南京信息工程大学实验(实习)报告一、实验目的1.熟悉活动图的基本功能和使用方法。

2.掌握如何使用建模工具绘制活动图方法。

二、实验器材1.计算机一台。

2.Rational Rose 工具软件。

三、实验内容根据图书管理系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派您完成该项任务。

要求:用活动图来描述系统中已知用例的业务过程:1.描述删除读者用例。

四、实验步骤绘制“删除读者信息”用例的活动图。

删除读者信息一般按照以下步骤进行:(1)管理员在录入界面,输入待删除的读者名;(2)“业务逻辑”组件在数据库中,查找待删除的读者名;(3)如果不存在,则显示出错信息,返回步骤(1),如果存在则继续;(4)“业务逻辑”组件判断“待删除的读者”是否可以删除;(5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续;(6)在数据库中,删除相关信息;(7)显示删除成功信息;(8)结束。

绘图步骤:(1)在用例图中,找到删除的用例,在删除用例上单击右键,在弹出的快捷菜单中选“New”,Rose工具也会弹出一个菜单,选”Activity Diagram”,选中后单击,便可以新建好一个活动图。

(2)新建好活动图后,双击删除的活动图,然后把在左边的工具栏内点击“Swinlane“,在右边的图添加一个泳道,并命名为administrator.按照此步骤,再添加另一个泳道,并命名为SystemTool。

(3)接着在左边的工具上选取开始点,并在administrator的泳道上添加;添加完开始结点后,再来为此活动图添加活动,在左边的工具栏上选中Activity这个图标,在administrator 这边的泳道上添加一个活动,命名为登录(login),再在开始结点和活动登录(login)之间添加活动关系。

(4)完成步骤(2)后,登录输入需要对输入的信息进行验证,则在图中添加一个验证框:添加验证框后,验证的内容,如果通过,则允许管理员进行查询操作;如不能通过,则结束。

UML动态分析活动图

UML动态分析活动图

9•2020/10/4
活动的分解
0•2020/10/4
活动的分解
1•2020/10/4
活动图建模技术
⑴ 识别要对工作流描述的类或对象。找出负责 工作流实现的业务对象,这些对象可以是显示 业务领域的实体,也可以是一种抽象的概念和 事物。找出业务对象的目的是为每一个重要的 业务对象建立泳道。
⑵ 确定工作流的初始状态和终止状态,明确工 作流的边界。
分支与合并
一个无条件的动作流,可以在一个动作状态的 动作完成后自动触发动作状态的转换以激发下 一个动作状态,
有条件的动作流则需要根据条件,即一个布尔 表达式的真假来判定动作的流向。条件行为用 分支和合并表达。
9•2020/10/4
活动图的组成元素
分支与合并
0•2020/10/4
活动图的组成元素
6•2020/10/4
概述
活动图与流程图的区别
⑴ 流程图着重描述处
理过程,它的主要控 制结构是顺序、分支 和循环,各个处理过 程之间有严格的顺序 和时间关系
活动图描述的是对象 活动的顺序关系所遵 循的规则,它着重表 现的是系统的行为, 而非系统的处理过程 。
7•2020/10/4
概述
活动图与流程图的区别
0•2020/10/4
活动图的组成元素
泳道
泳道没有顺序,不同 泳道中的活动既可以 顺序进行也可以并发 进行。
动作流和对象流允许 穿越分隔线。
1•2020/10/4
活动图的组成元素
对象流
对象流是动作状态或 者活动状态与对象之 间的依赖关系
对象流表示动作使用 对象或者动作对对象 的影响。
2•2020/10/4
2•2020/10/4

UML讲义7-活动图

UML讲义7-活动图

如果一个控制流在其他控制流到达之前到达了连接, 如果一个控制流在其他控制流到达之前到达了连接,它将 会等待,直到所有控制流都到达了才会向连接传递控制权。 会等待,直到所有控制流都到达了才会向连接传递控制权。
练习: 练习:销售合同从签订到履约的过程 销售合同签订后,要进行核对。如果发现错误,则终止履 销售合同签订后,要进行核对。如果发现错误, 如果没有错误,则要核对货物清单确定是否有货, 约;如果没有错误,则要核对货物清单确定是否有货,还 要核对付款单确定对方是否已经付款,只有这两项都完成, 要核对付款单确定对方是否已经付款,只有这两项都完成, 才可以发货。如果无货或对方尚未付款,则终止履约。 才可以发货。如果无货或对方尚未付款,则终止履约。
b.设置对象名 设置对象名 双击添加的对象, 双击添加的对象,弹出右侧窗 口,在name输入对象名 输入对象名
c.添加状态名 添加状态名 处选择<new>,弹出如 在state处选择 处选择 弹出如 下窗口
在name处输入状态名后返回 name处输入状态名后返回
注意: 注意: 在同一步活动图中, 在同一步活动图中,同名的对象只能通过复制来创建
三、对象流
用活动图描述某个对象时,可以将涉及到的对象放到活动 用活动图描述某个对象时,可以将涉及到的对象放到活动 涉及到的对象 图中,并用一个依赖将其连接到活动或状态上, 图中,并用一个依赖将其连接到活动或状态上,对象的这 种使用方法就构成了对象流。 种使用方法就构成了对象流。
活动图的Rose建模 第四节 活动图的 建模
第7章 活动图 章
(activity diagram) )
1
实例引入: 实例引入:活动图的作用
酷我音乐盒的主要功能: 酷我音乐盒的主要功能: 用户根据歌曲名称搜索自己喜爱的音乐,找到后, 用户根据歌曲名称搜索自己喜爱的音乐,找到后,用户可 模式播放( ),也可以 模式播放 模式播放。 以MP3模式播放(同步显示歌词),也可以 模式播放 同步显示歌词),也可以MV模式播放。 由于音乐和歌词都来自于互联网, 由于音乐和歌词都来自于互联网,故在播放之前应连接这 些文件。 些文件。 练习: 练习:画出酷我音乐盒的用例图

UML中的活动图实践案例

UML中的活动图实践案例

UML中的活动图实践案例在软件开发过程中,使用统一建模语言(UML)可以帮助开发人员更好地理解和设计软件系统。

其中,活动图是一种非常有用的工具,可以描述系统中的业务流程和操作流程。

本文将通过一个实践案例,详细介绍如何使用活动图来建模和分析系统的业务流程。

案例背景假设我们正在开发一个在线购物系统。

该系统允许用户浏览商品、选择商品、下订单并支付。

为了更好地理解和设计该系统,我们将使用活动图来描述用户购物的整个流程。

活动图的基本元素在开始建模之前,让我们先来了解一下活动图的基本元素。

活动图由以下几个主要元素组成:1. 动作(Action):表示系统执行的基本操作,例如发送电子邮件、生成报告等。

2. 控制流(Control Flow):表示活动图中的控制流程,即动作之间的顺序关系。

3. 决策节点(Decision Node):表示在不同条件下的流程分支,类似于编程语言中的if语句。

4. 合并节点(Merge Node):表示流程分支的合并点,类似于编程语言中的else语句。

5. 初始节点(Initial Node):表示活动图的起点。

6. 终止节点(Final Node):表示活动图的终点。

建模过程现在让我们开始建模购物系统的活动图。

1. 首先,我们需要定义系统的起点和终点。

在活动图中,起点用一个带有黑色实心圆圈的初始节点表示,终点用一个带有黑色实心圆圈的终止节点表示。

2. 接下来,我们需要定义用户浏览商品的流程。

用户打开购物系统后,系统将显示所有可用的商品。

用户可以通过滚动或搜索来浏览商品。

在活动图中,我们可以使用动作来表示这些操作,并使用控制流来表示它们之间的顺序关系。

3. 用户选择商品后,系统将显示商品的详细信息。

用户可以查看商品的图片、描述、价格等信息。

在活动图中,我们可以使用动作来表示这些操作,并使用控制流来表示它们之间的顺序关系。

4. 用户选择完商品后,系统将允许用户下订单。

用户需要提供收货地址、联系方式等信息。

UML业务建模实例分析四例

UML业务建模实例分析四例

UML业务建模实例分析在我国十年前ATM(自动取款机)还是一个很新鲜的事物,现在在城市的大街小巷随处可见。

我们在日常生活中也经常和ATM打交道。

本章我们将以简化的ATM系统为例将前面几章中学到的用例图、类图、顺序图、状态图、活动图及协作图知识运用到此例中。

参与者"银行储户"和ATM机。

简化后的ATM机仅有取款、存款及其余功能。

其余功能不做详细说明。

图5.1 自动取款机(ATM)系统用例图银行储户在ATM机上完成取款、存款及其他业务。

图5.2所示的银行系统类图和图3.5是类似的,只是将工作人员换成了ATM。

整个银行系统包括了帐户库、银行储户库及ATM系统。

许多单个的帐户组成了帐户库。

帐户具有帐户类型、帐户号、余额三个属性,均为private,其类型分别为char,int,double。

六个操作分别为setType、getType、getAccountNumbe、setAccountNumbe、caculateBalance、getBalance,除caculateBalance为protected其余均为public。

setType设置帐户类型,返回类型为void,参数类型为char,输入帐户类型。

getType获取帐户类型,返回类型为char,无参数。

setAccountNumbe设置帐户号,返回类型为void,参数类型为int,输入帐户号。

getAccountNumbe获取帐户号,返回类型为int,无参数。

caculateBalance计算余额,返回类型为void,参数为double,第一个参数为输入存取款数额,第二个参数为存款余额,既为输入也为输出。

getBalance获取帐户余额,返回类型为double,无参数。

许多银行储户组成了储户库。

ATM系统包含了许多ATM机。

银行储户及ATM机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。

UML活动图实际应用案例

UML活动图实际应用案例

UML活动图实际应用案例UML(Unified Modeling Language)是一种用于软件系统设计和开发的标准建模语言。

其中,活动图是一种描述系统行为的图形化工具,它可以展示系统中的活动、动作和控制流程。

在实际应用中,活动图可以帮助开发团队更好地理解和设计系统的行为逻辑。

下面,我们将通过一个实际案例来探讨UML活动图的应用。

假设我们要设计一个在线购物系统,用户可以浏览商品、选择商品、添加到购物车、结算等。

首先,我们可以使用活动图来描述用户浏览商品的过程。

在活动图中,我们可以使用矩形表示活动,使用箭头表示控制流程。

在用户浏览商品的过程中,我们可以将整个过程分为几个活动,比如“登录系统”、“浏览商品列表”、“查看商品详情”等。

通过活动图,我们可以清晰地看到用户在系统中的操作流程,以及各个活动之间的控制关系。

接下来,我们可以使用活动图来描述用户选择商品的过程。

在这个过程中,用户可以通过搜索、分类、推荐等方式来选择自己感兴趣的商品。

我们可以使用决策节点来表示用户的选择,使用分支节点来表示不同的选择路径。

通过活动图,我们可以清楚地看到用户选择商品的各种可能性,以及每个选择路径所对应的行为。

然后,我们可以使用活动图来描述用户添加商品到购物车的过程。

在这个过程中,用户可以选择商品的数量、颜色、尺寸等信息,并将商品添加到购物车中。

我们可以使用控制节点来表示用户的选择,使用对象节点来表示商品信息。

通过活动图,我们可以了解到用户在添加商品到购物车的过程中所需要进行的各种操作。

最后,我们可以使用活动图来描述用户结算的过程。

在这个过程中,用户需要选择支付方式、填写收货地址等信息,并完成订单支付。

我们可以使用控制节点来表示用户的选择,使用对象节点来表示支付方式和收货地址。

通过活动图,我们可以清晰地了解到用户在结算过程中所需要进行的各种操作,以及操作之间的控制关系。

通过以上的案例,我们可以看到UML活动图在实际应用中的价值。

uml图例讲解

uml图例讲解

1
A
UML图例讲解
(2)某银行储蓄系统需求说明如下。
①开户:客户可填写开立账户申请表,然后交由工作人员验证并输入系统。 系统会建立账户记录,并会提示客户设置密码(若客户没做设置,则会有一 个缺省密码)。如果开户成功,系统会打印一本存折给客户。
②密码设置:在开户时客户即可设置密码。此后,客户在经过身份验证后, 还可修改密码。
6
A
UML图例讲解
(7)某银行系统存款处理过程如下。 ①系统将存款单上的存款金额分别记录在存折和账目文件中; ②将现金存人现金库; ③最后将打印后的存折还给储户; 请分析此交互过程所涉及的系统对象,并结合存款处理流程绘 制协作图。
7
A
UML图例讲解
(8)某个自助售货机系统的用户购买汽水的交互过程如下。 ①用户投币,系统接收到硬币后显示出机器中的商品余量信息。 ②用户选择其中一种汽水,系统处理后将该种汽水释放。 请绘制此交互过程的协作图。
(12)在机票预订系统中,使用系统的用户必须先注册一个自己 的账号,其过程为输入注册信息、验证信息完整、提交信息、 系统进行验证(是否重名等),如果验证均通过,则注册成功, 否则失败。 请根据以上描述,对用户注册用例画例讲解
(5)某银行系统的取款用例执行顺序如下,工作人员输冬取款 单,输入后,银行系统请求银行数据库匹配用户,进行身份验 证,验证通过后,数据库注销相应存款,返回注销完成信息, 银行系统在存折上打印取款记录。
请根据以上信息绘制顺序图。
5
A
UML图例讲解
(6)在某一学生指纹考勤系统中,有一个用例名为“上课登记”。此用例允 许学生在上课前使用系统识别自己的指纹信息进而识别自己的身份,同时 系统可以将登录信息存储在数据库中。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. UML活动图实例
一、活动图的组成元素 Activity Diagram Element
1、活动状态图(Activity)
2、动作状态(Actions)
3、动作状态约束(Action Constraints)
4、动作流(Control Flow)
5、开始节点(Initial Node)
6、终止节点(Final Node)
7、对象(Objects)
8、数据存储对象(DataStore)
9、对象流(Object Flows)
10、分支与合并(Decision and Merge Nodes)
11、分叉与汇合(Fork and Join Nodes)
12、异常处理(Exception Handler)
13、活动中断区域(Interruptible Activity Region)
14、泳道(Partition)
二、活动图案例分析
三、总结
活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。

活动图在本质上是一种流程图。

活动图着重表现从一个活动到另一个活动
的控制流,是内部处理驱动的流程。

一、活动图的组成元素 Activity Diagram Element
1、活动状态图(Activity)
活动状态用于表达状态机中的非原子的运行,其特点如下:
(1)、活动状态可以分解成其他子活动或者动作状态。

(2)、活动状态的内部活动可以用另一个活动图来表示。

(3)、和动作状态不同,活动状态可以有入口动作和出口动作,也可以有内部转移。

(4)、动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它就是一个动作状态。

UML中活动状态和动作状态的图标相同,但是活动状态可以在图标中给出入口动作和出口动作等信息。

2、动作状态(Actions)
动作状态是指原子的,不可中断的动作,并在此动作完成后通过完成转换转向另一个状态。

动作状态有如下特点:
(1)、动作状态是原子的,它是构造活动图的最小单位。

(2)、动作状态是不可中断的。

(3)、动作状态是瞬时的行为。

(4)、动作状态可以有入转换,入转换既可以是动作流,也可以是对象流。

动作状态至少有一条出转换,这条转换以内部的完成为起点,与外部事件无关。

(5)、动作状态与状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移。

(6)、在一张活动图中,动作状态允许多处出现。

UML中的动作状态图用平滑的圆角矩形表示,如下:
3、动作状态约束(Action Constraints)
动作状态约束:用来约束动作状态。

如下图展示了动作状态的前置条件和后置条件
4、动作流(Control Flow)
动作之间的转换称之为动作流,活动图的转换用带箭头的直线表示,箭头的方向指向转入的方向。

5、开始节点(Initial Node)
开始节点:表示成实心黑色圆点
6、终止节点(Final Node)
分为活动终止节点(activity final nodes)和流程终止节点(flow final nodes)。

活动终止节点表示整个活动的结束
而流程终止节点表示是子流程的结束。

7、对象(Objects)
8、数据存储对象(DataStore)
使用关键字datastore
9、对象流(Object Flows)
对象流是动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或动作对对象的影响。

用活动图描述某个对象时,可以把涉及到的对象放置在活动图中并用一个依赖将其连接到进行创建、修改和撤销的动作状态或者活动状态上,对象的这种使用方法就构成了对象流。

对象流中的对象有以下特点:
(1)、一个对象可以由多个动作操作。

(2)、一个动作输出的对象可以作为另一个动作输入的对象。

(3)、在活动图中,同一个对象可以多次出现,它的每一次出现表面该对象正处于对象生存期的不同时间点。

对象流用带有箭头的虚线表示。

如果箭头是从动作状态出发指向对象,则表示动作对对象施加了一定的影响。

施加的影响包括创建、修改和撤销等。

如果箭头从对象指向动作状态,则表示该动作使用对象流所指向的对象。

状态图中的对象用矩形表示,矩形内是该对象的名称,名称下的方括号表明对象此时的状态。

10、分支与合并(Decision and Merge
Nodes)
分支与合并用菱形表示
11、分叉与汇合(Fork and Join Nodes)
分为水平风向和垂直方向。

对象在运行时可能会存在两个或多个并发运行的控制流,为了对并发的控制流建模,UML中引入了分叉与汇合的概念。

分叉用于将动作流分为两个或多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。

12、异常处理(Exception Handler)
当受保护的活动发生异常时,触发异常处理节点。

13、活动中断区域(Interruptible Activity Region)
活动中断区域围绕一些可被中断的动作状态图。

比如下图,正常情况下【Process Order】顺序流转到【Close
Order】,订单处理流程完毕;但在【Process Order】过称中,会发送【Cancel
Order】请求,这时会流转到【Cancel Order】,从而订单处理流程结束
14、泳道(Partition)
泳道将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。

在活动图中,泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。

在包含泳道的活动图中,每个活动只能明确地属于一个泳道。

泳道是用垂直实线绘出,垂直线分隔的区域就是泳道。

在泳道的上方可以给出泳道的名字或对象的
名字,该对象负责泳道内的全部活动。

泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线。

二、活动图案例分析
1、 泳道分为:会员泳道和系统泳道。

会员选择商品并加入购物车,系统完成订单生成及其支付
完毕。

2、 开始节点:会员添加商品到购物车,点击【订单确认】,开始交于系统处理订单流程
3、 结束节点:商品发送完毕和付款成功,订单处理流程结束
4、 活动状态:产生订单、Check Credit Cart核对信用卡、Check Stock 核对库存量、Deliver Goods 发送商品、Process Credit Cart付款
5、 分叉与汇合:【产生订单】份叉为检查库存量和会员支付金额是否足够,如果不足,取消订单,如过库存量和支付金额足够,发送商品和付款,最后汇合为订单完成。

三、总结
活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。

活动图能够表示并发活动的情形,活动图是面向对象的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文档
最新文档