活动图(Activity Diagram)

活动图(Activity Diagram)一、什么是活动图?二、活动图的基本要素?三、活动图的作用?

大家好,又见面了,我是你们的朋友全栈君。

一、什么是活动图?

活动图是UML用于对系统的动态行为建模的常用工具,它描述活动的顺序。活动图在本质上是一种流程图,着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。


二、活动图的基本要素?

1、活动(Activity):命令的执行

在UML中,活动的图符如下图表示:

        活动图(Activity Diagram)

2、起始状态(Start State)与终止状态(End State):表示活动的起点与终结

图符表示如下:

活动图(Activity Diagram)


3、状态转移(State Transition):用带箭头的实线表示,表示从一个活动到另一个活动的转移。

活动图(Activity Diagram)

4、判断(Decision):也可以理解为分支,对于同一触发事件,可以根据不同的条件转向不同的活动,每一个可能的转移都是一个分支。用菱形框表示:

活动图(Activity Diagram)

5、分叉与汇合:表示系统或对象中的并发行为。分叉表示把一个单独的控制流分成两个或多个并发的控制流。汇合表示两个或多个并发控制流的同步发生,当所有的控制流都达到汇合点后,控制才能继续往下进行。

活动图(Activity Diagram)

6、泳道:将一个活动图中的活动状态分组,每一组表示一个特定的类、人或部门,它们负责完成组内的活动。每个活动都明确属于一个泳道,不可以跨越泳道,但是转移则可以跨越泳道。


三、活动图的作用?

1、描述一个操作的执行过程中所完成的工作或者动作;

2、描述对象内部的工作;

3、显示如何执行一组相关的动作,以及这些动作如何影响周围对象;

4、描述用例的执行;


四、什么情况下使用活动图?

在实际项目中,活动图并不是必须的,一般在以下情况需要使用活动图:

1、描述一个并行的过程或者行为;

2、描述一个算法;

3、描述一个跨越多个用例的活动。

 

在以下场合中是不使用活动图的:

1、显示对象之间的合作;

2、显示对象在其生命周期内的运作情况。

下面是用Rational Rose 画的机房收费系统的活动图:

活动图(Activity Diagram)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134372.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 并发框架disruptor_ringbuffer的常规用法

    并发框架disruptor_ringbuffer的常规用法Disruptor概述子主题1生产者消费组框架子主题2使用子主题11.建Event类(数据对象)2.建立一个生产数据的工厂类,EventFactory,用于生产数据;3.监听事件类(处理Event数据)4.实例化Disruptor,配置参数,绑定事件;5.建存放数据的核心RingBuffer,生产的数据放入RungBuffer。ringbuffer它…

    2022年9月11日
    0
  • 固态硬盘不能恢复吗_固态硬盘资料能恢复吗

    固态硬盘不能恢复吗_固态硬盘资料能恢复吗固态硬盘(SSD)凭借超高速的读写速度在高端玩家中颇受欢迎,但是SSD硬盘也暴露出一些不成熟的表现,之前已有过固件门、性能下降等例子。Techgage网站最新的测试显示SSD硬盘在数据恢复方面遇到了新的挑战,这一问题在支持TRIM指令的固态硬盘上尤为严重。有鉴于此,编辑将这篇文章编译过来希望能引起玩家的重视。目前这一问题还没有别的评测加以佐证,笔者手头也没有固态硬盘可重复验证,希望正在使用固态硬盘

    2022年9月19日
    0
  • mt4接入python_mt4 调用 api「建议收藏」

    mt4接入python_mt4 调用 api「建议收藏」python与matlab混编用于Python的MATLAB引擎API快速入门安装用于Python的MATLAB引擎APIMatlab的官方文档中介绍了Matlab与其余编程语言之间的引擎接口,其中包括对于Python开放的引擎API,可参考官方教程,其中包括引擎安装,基本使用,以及Pyth…文章刘新伟2018-06-112307浏览量JVM–方法调用版…

    2022年8月15日
    14
  • LM算法初识_lm算法效果

    LM算法初识_lm算法效果  由于工作内容接触到点云标定,需要用到最小二乘法,所以特意花了点时间研究LM算法,但是由于大学的高等数学忘得差不多了,所以本文从最基本的一些数学概念开始;信赖域法  在最优化算法中,都是要求一个函数的极小值,每一步迭代中,都要求目标函数值是下降的,而信赖域法,顾名思义,就是从初始点开始,先假设一个可以信赖的最大位移,然后在以当前点为中心,以为半径的区域内,通过寻找目标函数的一个近似函数(二次的)的最优点,来求解得到真正的位移。在得到了位移之后,再计算目标函数值,如果其使目标函数值的下降满足了一定条件,

    2022年10月1日
    0
  • IDEA优化设置

    IDEA优化设置IDEA优化设置设置Ctrl+鼠标滑轮动态放大缩小页面文字

    2022年5月21日
    38
  • ScriptManager.RegisterStartupScript方法[通俗易懂]

    ScriptManager.RegisterStartupScript方法[通俗易懂]出处:忘记了,致歉作者 如果页面中不用Ajax,cs中运行某段js代码方式可以是:Page.ClientScript.RegisterStartupScript(Page.GetType(),””,”window.open(‘default2.aspx’)”);如果页面中使用了Ajax,则上述代码即使执行也无效果。对这种情况我们通常采用:ScriptManag

    2022年7月13日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号