UML——活动图
2015-12-01 15:19
309 查看
概念
活动图着重描述了用例实例或对象的活动,以及操作实现中所完成的工作,可以用来描述动作和动作导致 对象状态改变的结果,通常出现在设计的前期与流程图的区别?
活动图不仅能够表达顺序流程控制,还能够表达并发流程控制
活动图是面向对象的,流程图是面向过程的
与状态图的区别?
活动图中的状态转换不需要任何触发事件,活动图中的动作可以放在泳道中,泳道可以将模型中的活动按 照职责组织起来,而状态图则不可以
活动图的主要目的是描述动作及对象的改变结果,而状态图则是一状态的概念描述对象、子系统、系统在 生命周期的各种行为
活动图的作用?
1) 描述用例有用
2) 对理解业务过程十分有用
3) 描述复杂过程的算法,在这种情况下使用的活动图和传统的程序流程差不多
4) 显示如何执行一组相关的动作,以及这些动作如何影响周围的对象
5) 描述一个操作执行过程中所完成的工作
组成元素
1) 动作状态动作状态是原子性的动作或操作的执行状态,他一旦执行便不能被外界事物打断没有子结构、内部转换或 内部活动不存在由事件触发的转换,所以占用的处理时间极短,可以由转入一般为对象流或动作流
不能有入口和出口动作,也不能有内部转移这是和状态图中状态的区别,用一个圆角矩形表示
2) 活动状态
活动状态是一种非原子性的,可以分解成其他活动或动作状态,所以动作状态可以理解成一种特殊的活动 状态,固动作状态没有的活动状态全部具备
活动状态也是由圆角矩形表示,不同的是有入口动作和出口动作等信息
3) 组合状态
嵌套了若干活动或状态的活动称为“组合活动”
从表面上看就是一个状态,与一般的活动状态一样不具备原子性
组合活动可以在一副图中展示所有的工作流程细节,但如果过于复杂最好是将子图单放,然后引用它
4) 分支与合并
转换的一部分,将转换路径分成多个部分,每一部分都有单独的监护条件(布尔值)和不同的结果,即条 件判断后的分流输出
合并指的是两个或多个控制路径在此汇合的情况,表示从对应的分支开始额条件行为的结束
都是用空心菱形表示,分支是两个箭头输出,合并是两个箭头汇入
5) 分叉与结合
首先了解并发概念:在同一时间间隔内,有两个或两个以上的活动执行,为了对并发的控制流进行建模便 引入了分叉和结合的概念
两个都用粗黑线,分叉是一变多,结合是多变一
结合和合并的区别:
合并的路径之间是互斥的,走完一条在走下一条,结合是所有路径的控制流全部到达之后才继续运行
6) 泳道
为了对活动的职责进行组织而在活动图中将活动状态分为不同的组,称为“泳道“
每个泳道都明确的表示了那些活动是由哪些对象所执行的
7) 对象流
控制流就是对活动和对象之间的关系的描述,因此控制流表示动作动作与其参与者和后继动作之间,以及动作和其输入和输出对象之间的关系
对象流是将将对象流状态作为输入或输出的控制流,描述了动作状态或者活动状态与对象之间的关系
对象流状态:对象流中的对象表示的不仅仅是对象自身,还表示了对象作为过程中的一个状态存在。
绘制
1)双击活动状态,弹出:activity specification for:对话框比较难的就是绘制活动状态,这个需要在动 作状态里绘制
2)选择actions选项卡进入为活动状态添加动作的界面
3)在列表框的空白处单击鼠标右键,选在“Insert”命令
4)双击列表中出现的默认动作就可以进行设定了
总结:
描述动作或者因为动作改变了对象的某种状态,活动图活动图就是展示一个活动的流程,比较容易弄混的是actions和动作状态,好好学习,打基础相关文章推荐
- 设计模式之---装饰模式
- hiho刷题日记——第二十六天最小生成树一·Prim算法
- hiho刷题日记——第二十七天最小生成树二·Kruscal算法
- UINavigationController技巧<一>——修改返回按钮的标题
- Linux系统安装VMware Tools
- Qt 创建状态栏
- android 广播更新界面
- Java读书笔记十六(Java中的枚举类)
- 助你美化网站的实用css3技巧(1)
- Android 关于Scrollview和listview嵌套以及下拉刷新问题(附源码)
- Sql Server 语句大全
- XML字符转译
- VS快速生成JSON数据格式对应的实体
- js实现继承的5种方式
- mongodb常用基本管理命令
- linux启动oracle数据库
- java用jdbc连接neo4j
- 电影
- 设置UITableView中Cell的间隔线从0点开始
- 如何修改 UINavigationController、UINavigationBar 中 navigationItem 左侧 “返回” 按钮的名称