活动图
来源:互联网 发布:weexsdk 源码分析ios 编辑:程序博客网 时间:2024/05/03 10:26
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 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、 分叉与汇合:【产生订单】份叉为检查库存量和会员支付金额是否足够,如果不足,取消订单,如过库存量和支付金额足够,发送商品和付款,最后汇合为订单完成。
三、总结
活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。活动图能够表示并发活动的情形,活动图是面向对象的。
»下一篇:UML建模之状态图(Statechart Diagram)
不好意思,我这里也没有很多Case,文中已经提供几个Case供参考
支持!能够正确用图表达自己的架构、设计意图,确实是个不简单的工作啊!
再支持!
谢谢支持
谢谢支持
如果有可能的话,希望楼主继续,呵呵。
后续还会有时序图、状态图、部署图、处理视图等等,希望您关注,本系列文章
Enterprise Architect 7.5
介个给力,先谢啦~
· 入手要谨慎 iPad mini 2屏幕令人失望!
· 这个iPhone帅惨了!
· 索尼寻找下一个Walkman
· 互联网新闻的免费时代到头了吗?
· Snapchat:因年轻用户迅速成长 亦或因年轻用户衰落
» 更多新闻...
· 云计算环境下的应用架构设计
· 一个IT人士的个人经历,给迷失方向的朋友
· 程序员最头疼的事:命名
· 工程师文化
公告
Welcome to My BLog
网名:灵动生活
姓名:郝宪玮 麦考林系统架构师
QQ:1654704510(请注明:cnblogs)
闪酷软件http://www.hello36.com
专注于电子商务IT解决方案,
请不要问很详细的技术细节,由于长时间未写代码,以免浪费您的时间,谢谢
LOGO:
统计:
园龄:6年3个月
荣誉:推荐博客
粉丝:501
关注:49
搜索
常用链接
- 我的随笔
- 我的评论
- 我的参与
- 最新评论
- 我的标签
我的标签
- Net设计模式(23)
- C#设计模式(22)
- Design pattern(12)
- UML建模(10)
- Jquery(7)
- Gof 23设计模式(3)
- 设计模式有哪几种(3)
- 云计算(3)
- 设计模式(3)
- 设计模式解析(3)
- 更多
随笔分类(102)
- Asp.net MVC2.0系列文章(6)
- Azure云计算(3)
- Jquery基础知识学习笔记(23)
- Json(2)
- Net设计模式实例(23)
- Nunit NMock Ncover单元测试(3)
- PHP(4)
- UI界面设计(5)
- UML建模-面向对象设计(10)
- VS2010系列文章(3)
- 沟通管理(2)
- 企业开发解决方案(9)
- 软件工程(2)
- 项目管理PM(2)
- 运营维护(5)
随笔档案(205)
- 2013年6月 (1)
- 2013年3月 (1)
- 2011年8月 (3)
- 2011年7月 (3)
- 2011年6月 (1)
- 2011年5月 (2)
- 2011年3月 (5)
- 2011年2月 (1)
- 2011年1月 (1)
- 2010年12月 (1)
- 2010年10月 (3)
- 2010年9月 (3)
- 2010年7月 (1)
- 2010年6月 (4)
- 2010年4月 (2)
- 2010年3月 (2)
- 2010年2月 (7)
- 2010年1月 (23)
- 2009年12月 (14)
- 2009年11月 (10)
- 2009年10月 (2)
- 2009年9月 (3)
- 2009年8月 (13)
- 2009年6月 (3)
- 2009年5月 (8)
- 2009年4月 (3)
- 2009年3月 (3)
- 2009年2月 (5)
- 2009年1月 (7)
- 2008年12月 (7)
- 2008年11月 (13)
- 2008年10月 (21)
- 2008年9月 (4)
- 2008年7月 (3)
- 2008年4月 (5)
- 2008年3月 (7)
- 2008年2月 (2)
- 2008年1月 (5)
- 2007年11月 (3)
友情链接
- Tim博客
- 后端架构
- 产品SEO经纪人
- 朋友的SEO站点
- 美淘网
- 购物分享社区
- 培训行业OA软件
- 培训行业OA软件,汉语培训学校OA系统
- 上海英语口语学校
- WOWO 英语是一家集英语教育、对外汉语教育为一体的创新语言交流中心。开设职场口语、酒店口语、旅游口语、电话口语多种口语类型,总有款适合您.
- 我在51CTO上的博客
- 我在51CTO上的博客
- 移动在线学习系统(rss)
- 通过此系统,传统品牌培训机构可快速进入移动教育市场,服务8亿移动用户,为学生提供移动在线学习渠道
积分与排名
- 积分 - 333900
- 排名 - 241
最新评论
- 1. Re:UML建模系列文章总结
- 不錯,非常感謝!!
- --一个菜鸟成长的经历
- 2. Re:Highcharts:高交互性的javascript图表类库
- 楼主您好:不知道还能不能看到我的回复,呵呵-------------------------------- series: [{ name: 'Tokyo', dataURL: 'tokyo.json' }]我现在使用此处配置,并不会发送任何请求,请问这里是这样做的吗?ajax的方式,是这样写的吗?
- --范海涛
- 3. Re:UML建模之时序图(Sequence Diagram)
- 谢谢 很不错的教程 要是再多几个例子就更好了。没学过asp,上面的几个角色有点看不懂。
- --week_translator
- 4. Re:设计阶段如何画用例视图(Use-Case View)
- Uml mark
- --xchsp
- 5. Re:UML建模之时序图(Sequence Diagram)
- 学习了!
- --suviayan
阅读排行榜
- 1. UML建模之时序图(Sequence Diagram)(82033)
- 2. 36个引人注目JQuery导航菜单(65355)
- 3. UML建模之活动图介绍(Activity Diagram)(45760)
- 4. 10个免费的javascript富文本编辑器(jQuery and non-jQuery)(45113)
- 5. UML建模之状态图(Statechart Diagram)(27045)
评论排行榜
- 1. 虚拟化让私有云逐步落地(41)
- 2. [入门篇]Jquery读取.Net WebService Json数据(40)
- 3. 10个免费的javascript富文本编辑器(jQuery and non-jQuery)(36)
- 4. VS2010中创建自定义SQL Rule(35)
- 5. Asp.net MVC2.0系列文章-添加操作(33)
推荐排行榜
- 1. UML建模系列文章总结(37)
- 2. 10个免费的javascript富文本编辑器(jQuery and non-jQuery)(33)
- 3. UML建模之时序图(Sequence Diagram)(29)
- 4. 13个绚丽的Jquery 界面设计(25)
- 5. 26个Jquery使用小技巧(jQuery tips, tricks & solutions)(24)
- 活动图
- 活动图
- 活动图
- 活动图
- 活动图
- 活动图
- 活动图
- 活动图
- 活动图
- 活动图
- 活动图
- 活动图
- uml 活动视图活动图
- EA&UML日拱一卒-活动图::活动
- EA&UML日拱一卒-活动图::活动分区
- UML---活动图
- UML--活动图
- UML 活动图
- Codeforces Round #212 (Div. 2)(完全)
- 【黑马程序员】 学习笔记 - Java基础
- c++学习之--关于堆栈理解
- JAVA学习.常用类使用.String&Character
- ubuntu中用checkinstall安装软件
- 活动图
- 拯救小灰灰变“砖”的Coolpad 8150
- 黑白图(八连块)
- VC6如何调用 串口控件(Commn ActiveX)
- XML Schema 的编写
- 黑马程序员 面向对象的分析与设计
- c++学习之-- 关于delete和delete[]的区别
- 路由器命令使用、端口配置和静态路由配置
- 数据结构之快速排序