UML-活动图

合集下载

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. 用户选择完商品后,系统将允许用户下订单。

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

第9讲UML概要设计建模活动图状态图

第9讲UML概要设计建模活动图状态图

2.分岔和联结 分岔用来表示并行活动的分支处理,联结用来把并行活动的汇
集到同步处理。 分岔和联结在UML中的表示方法相似,都用粗黑线表示。分岔
具有一个转移人口,两个或者多个转移出口。分岔描述了单向处 理控制流分成了多个控制流。联结与此相反,联结具有两个或者 多个转移人口,只有一个出口。联结描述了不同的处理控制流合 并到一起形成一个单向处理,如下图所示。
4. 综合运用 现在已经学习了活动图的4种主要标记符,下面综合运用这
些标记来生成一个活动图,如下图所示。
5、 决策 决策是基于判断条件选择控制流继续的方向。决策的UML符号
是一个小菱形标记符,然后从这里再按条件控制分支转移到满足条 件的活动,如下图所示。
例 描述教师记录学生成绩用例的活动图
6. 泳道 泳道可以使活动图非常整洁,因为它们在很大程度上增强了
三、活动图的基本元素
活动图保留了许多传统的流程图 的特征,包含如下元素。
•活动 •操作 •状态 •转移 •对象流 •分岔 •决策 •联结
活动图示意
1. 活动 活动在活动图中,用来指示要完成某项工作的动作或表示工作 流的步骤。其UML标记符是一个带有圆角的矩形,如下图所示。
在确定活动名称时应该恰当地命名,选择准确描述所发生 动作的几个词。例如,Save File或者 Create New Document 就是比较恰当的活动名称,而Run或者Update 对读者而言是 不完整的名称。
例内部和用例之间的路径;它也可以向读者说明需要满足什么条件 用例才会有效,以及用例完成后系统保留的条件或者状态。 。 2.理解工作流程
活动图对理解业务处理过程十分有用。可以画出描述业务工作流 的活动图与领域专家进行交流,明确业务处理操作是如何进行的, 将会有怎样的变化。 3.描述复杂过程的算法

UML 用例图、关系图、活动图

UML 用例图、关系图、活动图

例如,一个银行系统中,有
一个“验证用户”用例,用 身份认证
于验证用户的合法性,它有
两 个 特 殊 的 子 用 例 , 一 个 是 密码认证
指纹认证
“检查密码”,另一个是
“检查指纹”,它们都有父
用例“验证用户”的行为,
并且可以出现在父用例出现
的任何地方,还可以添加自
己的行为。
用例图实例
• 以前面图书信息管理系统为例,画出用例 图。先找出参与系统地的角色:
• 扩展关系——允许一个用例扩展另一个用
例的功能。例如,在图书信息管理系统中,
读者还书时,系统检查所还图书是否有预
订记录,如果有则执行“通知”用例。在
UML中扩展关系表示为箭头和《extend》形
式。
《extend》
还书
通知
管理员
读者
注意
• 使用关系和扩展关系之间的区别,A使用B 本质上是A一定使用B,同时增加自己的专 属行为;而A被用例B扩展是说明A是一个一 般用例,B是一个特殊用例,A在某些条件 下可能使用B。
(2)取消预订——本用例提供取消预订图书的功能。
(3)还书——完成还书任务,在还书是要检查所还的书是否超 期、是否有其他读者预订,有的话要通知预订者。
(4)借书——提供借阅书功能 。
• 分析这个用例图,发现“还书”用例应该 被扩展,因为在还书时检查所还图书是否 有预订记录,若有,则应该通知预订者前 来借书。
• 一个用例内部的具体处理细节是由其他图形工具描述 的,用例图只是反映系统的总体功能,以及与这些功 能的相关的角色。有些人可能在画“借书”用例时, 情不自禁地就考虑了“输入读者号和书号”,“检查 图书是否在库?”,“图书数量减1”,“添加读者借 书记录”等等,一旦考虑了这些细节,就会发现用例 图画不下去了。因此,读者注意用例图中不要考虑处 理细节。

UML建模之活动图介绍(Activity Diagram)

UML建模之活动图介绍(Activity Diagram)

一、活动图的组成元素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 Element1、活动状态图(Activity)活动状态用于表达状态机中的非原子的运行,其特点如下:(1)、活动状态可以分解成其他子活动或者动作状态。

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

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

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

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

UML 活动图 Activity Diagram

UML 活动图 Activity Diagram

A、Activity Diagram(活动图)活动图用于为系统行为建模,以及行为以何种方式描述。

逻辑路径过程如下,基于各种条件,并行处理,数据访问,中断和其他逻辑路径的区别,用于构建过程,系统或程序。

活动图着重描述操作(方法)中所完成的工作以及用例实例或对象的活动。

B、活动图的模型元素B.1、Activity(活动)Activity组织和指定参与部属行为,例如sub-Activitie或Action,来反映过程的控制和数据流。

在活动图中Activity用于形容建模目的,为程序类型应用开发的系统设计,业务流程建模的组织结构和工作流程。

B.2、Structured Activity(结构活动)Structured Activity是一个合成元素,子活动图。

有很多种类的Structured Activity。

B.3、Action(行动)Action元素描述了一个发生在系统中的一个基本进程或变换。

它是活动图中的基本功能单元。

你可以认为它是Activity的孩子。

它们都表示进程,但Activity可以包含多步骤或可分解的进程,其中每一个都可以在Action中体现。

Action不能进一步分解。

B.4、Partition(泳道)Partition用于组合活动,它不会影响活动图的流,但有助于组织活动图。

显示动作在那个对象中执行,或显示执行的是一项组件工作的那一部分。

B.5、Object(对象)Object是运行时类的一个特别实例。

Object常用于分析存在于业务中的多个事物,如:纸、传真和信息。

为对象在运行时建模,使用运行状态。

B.6、Central Buffer Node(中央缓冲节点)Central Buffer Node是一个对象节点用来管理有多个源和目的的流。

它充当多个从其它对象流入的流和流出的流的缓冲,但不能连接Action。

B.7、Datastore(数据存储)Datastore是一个用于定义永久存储数据的元素。

UML活动图

UML活动图

(2)重命名泳道:双击泳道标签,弹出如下窗口
(3)调整泳道的宽度:拖动泳道间的调整线
(4)删除泳道 方法1:右击泳道->delete
此删除操作产生的效果:
泳道被删除(非彻底删除,可恢复)
泳道内的图形也会同时被删除(非彻底删除,可恢复)
方法2:在浏览器中右击泳道->delete
此删除操作产生的效果:
2、汇合 用于将两个或多个控制流合并到一起形成一个单向控制流。
如果一个控制流在其他控制流到达之前到达了连接,它将 会等待,直到所有控制流都到达了才会向连接传递控制权。
分叉用来表示将一个控制流分成两个或者多个并发运行 的分支,结合用来表示并行分支在此得到同步。
练习:销售合同从签订到履约的过程 销售合同签订后,要进行核对。如果发现错误,则终止履 约;如果没有错误,则要核对货物清单确定是否有货,还 要核对付款单确定对方是否已经付款,只有这两项都完成, 才可以发货。如果无货或对方尚未付款,则终止履约。
描述“播放MP3”用例:
实例引入:活动图的作用
public class assistant { public int id; …… public int max(int score1, int score2, int score3) { int temp; temp = score1; if (score2 > temp) temp = score2; if (score3 > temp) temp = score3; return temp; } }
在活动图中泳道区分了负责活动的对象,它明确地表示了 哪些活动是由哪些对象进行的。 在包含泳道的活动图中每个活动只能明确地属于一个泳道
三、对象流 用活动图描述某个对象时,可以将涉及到的对象放到活 动图中,并用一个依赖将其连接到活动或状态上,对象 的这种使用方法就构成了对象流。

软件工程---UML动态分析-活动图

软件工程---UML动态分析-活动图

Make Plan
entry/ SetGoal
2020/5/4
26
动作流
与状态图不同,活动图的转换一般都不需要特 定事件的触发。
一个动作状态执行完本状态需要完成的动作后 会自发转换到另外一个状态。
2020/5/4
27
动作流
一个活动图有很多动作或者活动状态,
活动图通常开始于初始状态,然后自动转换到 活动图的第一个动作状态,一旦该状态的动作 完成后,控制就会不加延迟地转换到下一个动 作状态或者活动状态。
7
活动图与流程图的区别
⑴ 流程图着重描述处理过程,它
的主要控制结构是顺序、分支 和循环,各个处理过程之间有 严格的顺序和时间关系
找饮料 [ 发现咖啡 ]
活动图描述的是对象活动的顺序
把咖啡放入 滤器
关系所遵循的规则,它着重表 将滤器放入 现的是系统的行为,而非系统 机器
的处理过程。
往容器里加 水
开机器
活动图着重表现从一个活动到另一个活动的控制流, 是内部处理驱动的流程。
找饮料
[ 发现咖啡 ]
[ 没有咖啡 ] [ 发现可乐 ]
把咖啡放入 滤器
往容器里加 水
拿茶杯
拿可乐
将滤器放入 机器
[ 没有可乐 ]
开机器 冲咖啡
倒咖啡
喝饮料
2020/5/4
12
活动的图形表示
在UML中,活动表示成圆角矩形,与状态的圆角矩 形相比,活动的矩形的圆角更柔和,看上去接近椭 圆。
不能中断,一直运行到结束。 ⑶ 动作状态是瞬时的行为,它所占用的处理时
间极短,有时其至可以忽略。
2020/5/4
19
动作状态
动作状态有如下特点:

uml建模-状态图和活动图

uml建模-状态图和活动图
l 状态图表示某个类所处的不同状态和该类的状态转换信息。 虽然每个类都有状态,但在系统活动期间仅对具有三个或 更多潜在状态的类才画一个状态图,进行状态图描述。用 状态图对一个对象按事件排序的方法建模,状态图是强调 从状态到状态的控制流的状态机的简单表示。
l 使用状态图的最常见的是对反应型对象、尤其是对类、 用例或整个系统的实例的行为建模。反应型对象是指 这个对象可能处于的稳定状态、从一个状态到另一个 状态之间的转换所需的触发事件,以及每个状态改变 时发生的动作。反应型对象具有如下的特点:
活动图的符号集与状态图中使用的符号集类似。像状态图 一样,活动图也从一个连接到初始活动的实心圆开始。 活动是通过一个圆角矩形(活动的名称包含在其内)来 表示的。活动可以通过转换线段连接到其他活动,或者 连接到判断点,这些判断点连接到由判断点的条件所保 护的不同活动。结束过程的活动连接到一个终止点(就 像在状态图中一样)。活动图中的基本要素包括状态、 转移、分支、分叉和汇合、泳道、对象流等。
l ⑹把动作附加到这些转换上,并且附加到这些状态上; l ⑺考虑通过使用子状态、分支、汇合和历史状态,来简化状态图; l ⑻核实所有的状态都是在事件的某种组合下可达的; l ⑼核实不存在死角状态,即不存在那种不能转换出来的状态; l ⑽通过手工或通过使用工具跟踪状态机,核对所期望的事件序列以及它
们的响应。
::new book 借书
::availห้องสมุดไป่ตู้ble 还书
::delete
一个图书对象从它的起始点 开始,首先是“新书”状态
(new book),然后是“可 以借阅”(available)的状 ::borrowed 态,如果有读者将书借走, 则该书的状态为“已借出”
状态(borrowed),如果图 书被归还图书馆,图书的状 态又变为“可以借阅”状态 。图书馆如果放弃该图书对 象的收藏,则图书对象处于
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(5)描述复杂过程的算法,在这种情况下使用的活动图和传统的程序流程图的功能是差不多的。
教师评语、评分:
本表可附页
3.创建动作状态
要创建动作状态,首先点击活动图工具栏中的“Activity”图标,然后在绘制区域要绘制动作状态的地方单击鼠标左键。
4.创建活动状态
用鼠标左键双击活动图图标,在弹出的对话框中选择“Action”选项卡。然后在空白处单击鼠标右键,在弹出的右键菜单中选择“Insert”菜单项。
5.创建转换
如下为所绘制的相关活动图:
四、实验步骤、出现的问题及解决的方法:
1.创建活动图
要创建活动图,首先展开“Logic View”菜单项,然后在“Logic View”图标上单击鼠标右键,在弹出的菜单中选择“New”下的“Activity Diagram”选项建立新的活动图。
2.创建初始和终止状态
活动图也有初始和终止状态。初始状态在活动图中用实心圆表示,终止状态在活动图中用含有实心圆的空心圆表示。鼠标左键点击活动图工具栏中初始状态图标,然后在绘制区域要绘制的地方单击鼠标左键就可以创建初始状态。终止状态的创建方法和初始状态相同。
(2)在“远程网络教学系统”中,系统管理员登录后可以处理注册申请或者审核课件。在处理注册申请后,需要发送邮件通知用户处理结果;在审核完课件后,需要更新页面信息以保证用户能看到最新的课件,同时系统更新页面。当完成这些工作后,系统管理员退出系统,系统则注销系统管理员账号。请画出系统管理员的工作活动图
三、程序清单与测试数据:(可附页)
信息管理学院统一建模语言UML课程实验报告
日期:2017年5月22日地点:立信603教室指导教师:郝瑞
班级:信息1班学号:201408010117实验人:白云
一、实验目的及要求:
使用ration绘制活动图
二、实验内容:
1.案例对于“教师查看修改学生信息”来说,他的参与者是教师,教师在查看修改学生信息的活动中,有3个用例:
(1)登录:要进入系统,首先要登录。
(2)查询学生信息:进入系统后可以择查询不同学生的信息。
(3)修改学生信息:需要修改某些学生的部分信息,比如考试过后需要修改学生的成绩信息。
2.练习
(1)对于“远程网络教学系统”,学生登录后可以下载课件。在登录时,系统需要验证用户的登录信息,如果验证通过系统会显示所有可选服务。如果验证失败,则登录失败。当用户看到系统显示的所有可选服务后,可以选择下载服务,然后下载需要的课件。下载完成后用户退出系统,系统则会注销相应的用户信息。请画出学生下载课件的活动图。
(2)活动图对用例描述尤其有用,它可建模用例的工作流,显示用例内部和用例之间的路径。它可以说明用例的实例是如何执行动作以及如何改变对象状态。
(3)显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。
(4)活动图对理解业务处理过程十分有用。活动图可以画出工作流用以描述业务,有利于与领域专家进行交流。通过活动图可以明确业务处理操作是如何进行的,以及可能产生的变化。
要创建转换,首先点击工具栏中的“State Transition”图标,然后在两个要转换的动作状态之间拖动鼠标。
6.创建分叉结合
创建分叉与结合,首先点击工具栏中的“Horizontal Synchronization”图标按钮,在绘制区域要创建分叉与结合的地方单击鼠标左键。
7.创建泳道
要创建泳道,首先点击工具栏中的“Swimlane”图标按钮,然后在绘制区域点击鼠标左键,就可以创建新的泳道。
接下来可以修改泳道的名字等属性。选中需要修改的泳道,单击鼠标右键,在弹出的菜单中选择“Open Specification”。弹出的对话框中的“Name”字段可以修改泳道的名字。
五、实验结果、结果分析与体会:
活动图的作用主要体现在:
(1)描述一个操作执行过程中所完成的工作。说明角色、工作流、组织和对象是如何工作的。
相关文档
最新文档