UML活动图实例
- 格式:pdf
- 大小:113.43 KB
- 文档页数:10
南京信息工程大学实验(实习)报告一、实验目的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)可以帮助开发人员更好地理解和设计软件系统。
其中,活动图是一种非常有用的工具,可以描述系统中的业务流程和操作流程。
本文将通过一个实践案例,详细介绍如何使用活动图来建模和分析系统的业务流程。
案例背景假设我们正在开发一个在线购物系统。
该系统允许用户浏览商品、选择商品、下订单并支付。
为了更好地理解和设计该系统,我们将使用活动图来描述用户购物的整个流程。
活动图的基本元素在开始建模之前,让我们先来了解一下活动图的基本元素。
活动图由以下几个主要元素组成:1. 动作(Action):表示系统执行的基本操作,例如发送电子邮件、生成报告等。
2. 控制流(Control Flow):表示活动图中的控制流程,即动作之间的顺序关系。
3. 决策节点(Decision Node):表示在不同条件下的流程分支,类似于编程语言中的if语句。
4. 合并节点(Merge Node):表示流程分支的合并点,类似于编程语言中的else语句。
5. 初始节点(Initial Node):表示活动图的起点。
6. 终止节点(Final Node):表示活动图的终点。
建模过程现在让我们开始建模购物系统的活动图。
1. 首先,我们需要定义系统的起点和终点。
在活动图中,起点用一个带有黑色实心圆圈的初始节点表示,终点用一个带有黑色实心圆圈的终止节点表示。
2. 接下来,我们需要定义用户浏览商品的流程。
用户打开购物系统后,系统将显示所有可用的商品。
用户可以通过滚动或搜索来浏览商品。
在活动图中,我们可以使用动作来表示这些操作,并使用控制流来表示它们之间的顺序关系。
3. 用户选择商品后,系统将显示商品的详细信息。
用户可以查看商品的图片、描述、价格等信息。
在活动图中,我们可以使用动作来表示这些操作,并使用控制流来表示它们之间的顺序关系。
4. 用户选择完商品后,系统将允许用户下订单。
用户需要提供收货地址、联系方式等信息。
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(Unified Modeling Language)是一种用于软件系统设计和开发的标准建模语言。
其中,活动图是一种描述系统行为的图形化工具,它可以展示系统中的活动、动作和控制流程。
在实际应用中,活动图可以帮助开发团队更好地理解和设计系统的行为逻辑。
下面,我们将通过一个实际案例来探讨UML活动图的应用。
假设我们要设计一个在线购物系统,用户可以浏览商品、选择商品、添加到购物车、结算等。
首先,我们可以使用活动图来描述用户浏览商品的过程。
在活动图中,我们可以使用矩形表示活动,使用箭头表示控制流程。
在用户浏览商品的过程中,我们可以将整个过程分为几个活动,比如“登录系统”、“浏览商品列表”、“查看商品详情”等。
通过活动图,我们可以清晰地看到用户在系统中的操作流程,以及各个活动之间的控制关系。
接下来,我们可以使用活动图来描述用户选择商品的过程。
在这个过程中,用户可以通过搜索、分类、推荐等方式来选择自己感兴趣的商品。
我们可以使用决策节点来表示用户的选择,使用分支节点来表示不同的选择路径。
通过活动图,我们可以清楚地看到用户选择商品的各种可能性,以及每个选择路径所对应的行为。
然后,我们可以使用活动图来描述用户添加商品到购物车的过程。
在这个过程中,用户可以选择商品的数量、颜色、尺寸等信息,并将商品添加到购物车中。
我们可以使用控制节点来表示用户的选择,使用对象节点来表示商品信息。
通过活动图,我们可以了解到用户在添加商品到购物车的过程中所需要进行的各种操作。
最后,我们可以使用活动图来描述用户结算的过程。
在这个过程中,用户需要选择支付方式、填写收货地址等信息,并完成订单支付。
我们可以使用控制节点来表示用户的选择,使用对象节点来表示支付方式和收货地址。
通过活动图,我们可以清晰地了解到用户在结算过程中所需要进行的各种操作,以及操作之间的控制关系。
通过以上的案例,我们可以看到UML活动图在实际应用中的价值。
UML活动图UML中,活动图⽤来展⽰活动的顺序。
显⽰了从起始点到终点的⼯作流,描述了活动图中存在于事件进程的判断路径。
活动图可以⽤来详细阐述某些活动执⾏中发⽣并⾏处理的情况。
活动图对业务建模也⽐较有⽤,⽤来详细描述发⽣在业务活动中的过程。
⼀个活动图的⽰例如下所⽰。
下⾯描述组成活动图的元素。
活动活动是⾏为参数化顺序的规范。
活动被表⽰为圆⾓矩形,内含全部的动作,⼯作流和其他组成活动的元素。
动作⼀个动作代表活动中的⼀个步骤。
动作⽤圆⾓矩形表⽰。
动作约束动作可以附带约束,下图显⽰了⼀个带前置条件和后置条件的动作。
控制流控制流显⽰⼀个动作到下⼀个动作的流。
表⽰为带箭头实线初始节点⼀个开始或起始点⽤⼤⿊圆点表⽰,如下图。
结束节点结束节点有两种类型:活动结束节点和流结束节点。
活动结束节点表⽰为中⼼带⿊点的圆环。
流结束节点表⽰为内部为叉号的圆环。
这两种不同类型节点的区别为:流结束节点表明单独的控制流的终点。
活动结束终点是活动图内所有控制流的结束。
对象和对象流对象流是对象和数据转递的通道。
对象显⽰为矩形。
对象流显⽰为带箭头的连接器,表明⽅向和通过的对象。
⼀个对象流在它的⾄少⼀个终端有⼀个对象。
在上图中,可以采⽤带输⼊输出引脚的速记标柱表⽰。
数据存储显⽰为带 «datastore» 关键字的对象。
判断节点和合并节点判断节点和合并节点是相同标注:菱形。
它们可以被命名。
从判断节点出来的控制流有监护条件,当监护条件满⾜时,可以对流控制。
下图显⽰了判断节点和合并节点的使⽤。
分叉和结合节点分叉和结合节点有同样的标柱:垂直或⽔平条(⽅向取决于⼯作流从左到右,还是从上到下)。
它们说明了控制的并发线程的起始和终点,下图显⽰他们的使⽤⽰例。
结合节点与合并节点不同之处在于:结合节点同步两个输⼊量,产⽣⼀个单独的输出量。
来⾃结合节点的输出量要接收到所有的输⼊量后才能执⾏。
合并节点直接将控制流传递通过。
如果两个或更多的输⼊量到达合并节点。
UML活动图的建模实践与实例分析UML(Unified Modeling Language)是一种用于软件系统建模的标准化语言,其中活动图是一种用于描述系统行为的图形化表示工具。
活动图以流程的形式展示了系统中各个活动的顺序和交互,是软件开发中重要的建模工具之一。
本文将介绍UML活动图的建模实践,并通过一个实例分析来加深对活动图的理解。
首先,我们来了解一下UML活动图的基本元素。
活动图由活动(Activity)、控制流(Control Flow)、决策节点(Decision Node)、合并节点(Merge Node)等构成。
活动表示系统中的一个任务或操作,控制流表示活动之间的顺序关系,决策节点表示根据条件选择不同的路径,合并节点表示多个分支的汇聚点。
在实际的建模过程中,我们可以通过活动图来描述系统的各个功能模块和流程。
以在线购物系统为例,我们可以将整个购物流程分解为多个活动,并通过控制流将这些活动连接起来。
例如,活动图的起始节点可以表示用户登录系统,然后通过控制流连接到选择商品活动,再连接到添加购物车活动,最后连接到结算活动。
通过这样的活动图,我们可以清晰地了解整个购物流程的执行顺序和交互细节。
除了基本元素外,活动图还支持使用分支和循环结构来描述复杂的流程。
例如,在购物系统中,用户可以选择不同的支付方式,我们可以使用决策节点来表示这个选择。
如果用户选择了支付宝支付,则通过控制流连接到支付宝支付活动;如果用户选择了微信支付,则通过控制流连接到微信支付活动。
这样的分支结构可以清晰地表达不同的选择路径。
此外,活动图还支持使用分支和合并节点来描述并行执行的活动。
例如,在购物系统中,用户可以同时进行浏览商品和搜索商品的活动。
我们可以使用合并节点将这两个活动的控制流汇聚到一起,表示这两个活动可以并行执行。
通过对UML活动图的建模实践,我们可以更好地理解系统的行为和流程,并且可以与团队成员共享和交流我们的设计思路。
使用UML活动图进行复杂业务流程建模与优化案例分析与效果评估随着企业业务的复杂化和信息化程度的提高,对业务流程的建模与优化变得尤为重要。
在这个过程中,使用统一建模语言(UML)的活动图成为了一种常见的工具。
本文将通过一个案例分析,探讨如何使用UML活动图进行复杂业务流程的建模与优化,并对其效果进行评估。
一、业务流程建模在进行业务流程建模之前,首先需要对业务流程进行分析和了解。
以某电商平台的订单处理流程为例,该流程包括了用户下单、库存检查、支付确认、物流安排、发货等多个环节。
为了更好地理解和描述这个流程,可以使用UML活动图进行建模。
在活动图中,可以使用不同的符号和线条来表示不同的活动、决策、并行和同步等。
通过对每个活动进行建模,可以清晰地展示业务流程的各个环节和流程之间的关系。
同时,还可以使用条件和分支结构来表示不同的决策和选择,以及并行结构来表示多个活动的同时进行。
二、业务流程优化在进行业务流程建模之后,可以对流程进行优化。
通过对活动图的分析,可以发现一些潜在的问题和瓶颈,进而提出相应的优化方案。
以上述电商平台的订单处理流程为例,假设在库存检查环节存在一个瓶颈,导致订单处理时间过长。
为了解决这个问题,可以采取以下优化措施:1. 引入并行处理:在库存检查环节,可以将订单分成多个并行的子流程,同时进行库存检查。
这样可以提高处理效率,缩短订单处理时间。
2. 优化算法:对库存检查的算法进行优化,减少不必要的计算和查询,提高检查的速度和准确性。
3. 增加资源:如果并行处理和优化算法仍无法解决瓶颈问题,可以考虑增加库存检查的资源,例如增加服务器的数量或者使用更高性能的硬件设备。
通过以上优化措施,可以有效地改善订单处理流程中的瓶颈问题,提高整体的处理效率和用户体验。
三、效果评估在进行业务流程优化之后,需要对优化效果进行评估。
评估可以从多个角度进行,包括处理时间、资源利用率、用户满意度等。
以上述电商平台的订单处理流程为例,可以通过以下指标来评估优化效果:1. 处理时间:比较优化前后的订单处理时间,如果处理时间明显缩短,说明优化措施起到了作用。
1.1跟我学UML建模工具StarUML(第9部分)——应用StarUML创建UML活动图的创建示例1.1.1UML活动图及主要的应用1、UML活动图和活动(1)活动图其实本质上就是流程图从软件系统内部的视角来看,因为UML活动图反映的都是软件系统功能所要完成的动作过程(它定义出工作流从哪里开始,到哪里结束,工作流中发生了哪些活动及其顺序等),活动是工作流期间完成的任务。
但要注意的是。
UML用例描述和活动模型之间存在着一些重要的区别。
但活动图与流程图之间也还存在有一定的区别1)流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程;2)活动图能够表示并发活动的情形,而流程图不行;3)活动图是面向对象的,而流程图是面向过程的。
(2)UML活动图可以描述用例的活动和行为用例描述是从外部参与者的角度出发来编写的,而活动模型则采用内部系统的角度进行描述的——使用活动图可以表示由内部生成的动作(描述活动)。
当然,软件系统的分析和设计人员也可以利用活动图来为参与者对系统的操作行为进行建模(描述行为)。
(3)UML活动图中的动作状态的特性这里所指的动作(也就是活动动作)主要有三个特点:原子性、不可中断性和瞬时性:1)原子性的即不能被分解成更小的部分;2)是不可中断的即一旦开始就必须运行到结束;3)是瞬时的即动作状态所占用的处理时间通常是极短的,甚至是可以被忽略的。
(4)动作状态在UML中的图示形式在UML中,动作状态使用带圆端的方框表示()。
(5)活动图中的动作流或者控制流活动图中的各个活动动作的转换用带箭头的直线表示。
2、UML活动图的主要应用(1)活动图的应用非常广泛它既可用来描述操作(类的方法)的行为,也可以描述用例和对象内部的工作过程活动(活动图记录了单个操作或方法的逻辑,单个用例或者单个业务流程的逻辑)。
Return the book
借阅者用例图
Remov e Reserv ation
图书管理员用例图
Administer
系统管理员用例图
图书馆里系统类图
书的状态图
借阅者账户状态图
借阅者活动图
图书管理员的活动图
系统管理员维护借阅者账户活动图
系统管理员维护书目信息的活动图
系统管理员维护书籍的活动图
借阅者预定书籍时序图
图书管理员处理书籍借阅时序图
系统管理员添加书籍时序图
系统管理员删除书目的时序图
借阅者预定书籍协作图
2: find reservation()
图书管理员处理借书时的协作图
系统管理员添加书籍协作图。
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、 分叉与汇合:【产生订单】份叉为检查库存量和会员支付金额是否足够,如果不足,取消订单,如过库存量和支付金额足够,发送商品和付款,最后汇合为订单完成。
三、总结
活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。
活动图能够表示并发活动的情形,活动图是面向对象的。
版权声明:本文为博主原创文章,未经博主允许不得转载。