热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

软件工程复习笔记活动图

活动图前言综述1.活动图的概念一.活动图的概念二.活动图的作用例存款例修改密码活动图三.活动图与交互图的区别四.活动图的组成


活动图

  • 前言
  • 综述
  • 1.活动图的概念
    • 一.活动图的概念
    • 二.活动图的作用
      • 例 存款
      • 例 修改密码活动图
    • 三.活动图与交互图的区别
    • 四.活动图的组成元素
  • 2.活动图的表示
    • 1、初始节点和终点
    • 2、活动节点
    • 3、转换
    • 4、分支与监护条件
    • 5、合并(merge)
    • 6、分岔(fork)和汇合(Join)
  • 3.活动图分类
    • 1 简单活动图
    • 2 标识泳道的活动图
    • 3 标识对象流的活动图
    • 4 标识信号的活动图
    • 5 标识扩展区的活动图
    • 6 嵌套活动图
  • 4.活动图的用途
    • 可对系统的工作流程建模,即对系统的业务过程建模。
    • 也可对具体的操作建模,用于描述计算过程的细节。
    • 活动图对表示并发行为很有用。
    • 例1:存款
    • 例2:修改密码的活动图
    • 例3:网购流程
  • 5. 构建活动图
  • 小结


前言

       copy自老师的PPT,不只有知识点,还有一些相关内容的介绍顺便复制进来了。 如有问题请多指教


综述


  • 活动图是对系统的动态行为建模的图之一。
  • 活动图是用于描述系统的工作流程和并发行为的技术。
  • 活动图”可通过一系列操作将业务流程或软件进程以工作流的形式显示出来。 这些操作可以由人、软件组件或计算机来执行。
  • 使用活动图可以描述多种类型的流程,具体示例如下:
    • 用户和您的系统之间的业务流程或工作流。
    • 某一用例中执行的步骤。
    • 软件协议,即允许在组件间进行的交互序列。
    • 软件算法。

1.活动图的概念


一.活动图的概念

       活动图是描述系统或业务的一序列活动构成的控制流,它描述了系统从一种活动转换到另一种活动的整个过程。


二.活动图的作用


  • 活动图常用来描述业务或软件系统的活动轨迹,描述了系统的活动控制流程。
  • 用活动图可以对业务过程、工作流进行建模;也可对具体的操作(用例实现)建模,用于描述计算过程的细节或进行建模。
  • 活动图对表示并发行为很有用。

例 存款

在这里插入图片描述


例 修改密码活动图

在这里插入图片描述


三.活动图与交互图的区别

系统动态建模的两种主要形式;
交互图强调对象与对象之间的交互信息;
活动图强调从活动到活动的控制流程。


四.活动图的组成元素


  1. 初始节点和终点
  2. 活动结点
  3. 转换
  4. 分支与监护条件
  5. 分岔与汇合

2.活动图的表示


1、初始节点和终点


  • 初始节点表示活动的起点,活动开始时,令牌从初始节点流出。用一个实心圆表示,
  • 终点表示活动的终结点,令牌到达时,活动将终止。用一个圆圈内加一个实心圆来表示活动终点,
  • 在活动图中,可能包含多个活动终点
    在这里插入图片描述

2、活动节点

用来表示一个活动,一个活动表示多个动作的集合。


  • 活动:表示某流程中的任务的执行,它可以表示某算法过程中语句的执行。活动可分解,不是原子的,工作的完成需要一定的时间。
  • 动作是原子的,不能被分解。没有内部转移,没有内部活动,动作的工作所占用的时间可忽略。动作可看作是活动的特例。

活动节点用一个圆角矩形表示。活动的名称写在圆角矩形内部。
在这里插入图片描述
活动节点的3种表示实例
在这里插入图片描述


3、转换

当一个活动结束时,活动控制流就会传递给下一个活动节点,在活动图中称之为“转换”,用一条带箭头的直线来表示转换。
在解释关系图时,假设有一个令牌从一个操作流向下一个操作。
在这里插入图片描述


4、分支与监护条件

当从一个活动节点到另一个活动节点的转换需要条件时,常用分支与监护条件来表示活动的分支结构.
分支是用菱形表示的,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。而每个离开转换上都会有一个监护条件,用来表示满足某种条件时才执行该转换。分支的表示法,如下图所示。
在这里插入图片描述

在这里插入图片描述


5、合并(merge)

指两条或多条控制路径汇合的情况
在合并由决策节点拆分的流时需要用到。 具有两个或多个输入以及一个输出。 任何输入上的令牌都会在输出上显示。
用菱形符号表示。
在这里插入图片描述
在这里插入图片描述


6、分岔(fork)和汇合(Join)

分岔表示一个控制流被两个或多个控制流代替,经过分岔后,这些控制流是并发进行的。
将单个流划分为并发流。 每个传入令牌会在每个传出连接线上生成一个令牌。
汇合与分岔相反,表示两个或多个控制流被一个控制流代替。
将并发流合并为单个流。 当每个传入流有等待的令牌时,输出上就会生成一个令牌。

与分支的区别
分支表示的是从多个可能的活动转移中选择一个。
分岔与汇合表示系统或对象中的并发行为。
在这里插入图片描述
在这里插入图片描述


3.活动图分类

按照活动图表示的信息不同,将活动图分为:


  • 简单活动图
  • 标识泳道的活动图
  • 标识对象流的活动图
  • 标识信号的活动图
  • 标识参数的活动图
  • 标识扩展区的活动图
  • 嵌套活动图

1 简单活动图

在这里插入图片描述


2 标识泳道的活动图

泳道(swimlane)是活动图中的区域划分。
每个泳道(活动分区—)代表整个活动一部分的高级职责,最终由一个或多个类(对象)实现。
每个泳道都有一个区别于其他泳道的名字。
划分通常是用垂直的实线,但也可以是水平或弯曲的,或者可以形成网络。

泳道和类的关系:
       两者不是一一对应的关系,泳道关心的是其所代表的职责,一个泳道可能有一个类实现,也可能有多个类实现。
在这里插入图片描述


3 标识对象流的活动图

对象可作为活动的输入或输出。
活动图中的对象流表示活动和对象之间的关系。
对象流属于控制流
在UML中,可以在活动图中标识一个对象的角色,状态和属性值的变化。
在这里插入图片描述
在这里插入图片描述


4 标识信号的活动图

信号是表示两个对象之间进行异步通讯的方式,当一个对象接收到一个信号时,将触发信号事件。
在活动图中,有三种信号元素:


  • 发送信号
  • 接收信号
  • 时间信号
    在这里插入图片描述

例:小张去必胜客吃饭,发现要排队等待,他决定如果15分钟还轮不到,就到隔壁的肯德基吃饭,这时就可以通过上述的符号来表示小张吃饭的活动。
在这里插入图片描述


5 标识扩展区的活动图

在活动图中,有时需要表示一个活动需要多次执行的情况。
在这里插入图片描述
在这里插入图片描述


6 嵌套活动图

一个活动图又包含了子活动图,则称这种图为嵌套活动图。
在这里插入图片描述


4.活动图的用途


可对系统的工作流程建模,即对系统的业务过程建模。

在这里插入图片描述
在这里插入图片描述


也可对具体的操作建模,用于描述计算过程的细节。

在这里插入图片描述


活动图对表示并发行为很有用。



例1:存款

在这里插入图片描述


例2:修改密码的活动图

在这里插入图片描述


例3:网购流程

在这里插入图片描述


5. 构建活动图

绘制活动图几个关键步骤:
(1)若希望在活动图中标识出活动的实施者,就应该采用标识泳道的活动图。
(2)在描述活动节点关系时,最大限度的采用分支,分岔和汇合等基本的建模元素来描述活动控制流程。
(3)若希望标识出活动节点执行前后对象的创建、销毁情况,以及对象的状态变化情况,则在绘制活动图采用标识对象流的活动图。


小结

活动图的作用?
活动图的组成元素有哪些?
活动图分类中,给出5种不同的活动图。
绘制修改密码的活动图。
绘制网购流程的活动图。


推荐阅读
  • 本文介绍了如何使用MATLAB调用摄像头进行人脸检测和识别。首先需要安装扩展工具,并下载安装OS Generic Video Interface。然后使用MATLAB的机器视觉工具箱中的VJ算法进行人脸检测,可以直接调用CascadeObjectDetector函数进行检测。同时还介绍了如何调用摄像头进行人脸识别,并对每一帧图像进行识别。最后,给出了一些相关的参考资料和实例。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Day2列表、字典、集合操作详解
    本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。 ... [详细]
  • SLAM中相机运动估计的基本问题及解决方案
    本文讨论了SLAM中相机运动估计的基本问题,指出了解决方案的存在。作者认为阅读相关SLAM书籍是掌握基础原理的有效途径,而不是仅仅依赖现成的解决方案。同时,作者也提到了激光雷达和特征点匹配等技术在SLAM中的应用,并建议读者深入理解相关原理,而不是盲目追求现成的代码。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • C语言常量与变量的深入理解及其影响
    本文深入讲解了C语言中常量与变量的概念及其深入实质,强调了对常量和变量的理解对于学习指针等后续内容的重要性。详细介绍了常量的分类和特点,以及变量的定义和分类。同时指出了常量和变量在程序中的作用及其对内存空间的影响,类似于const关键字的只读属性。此外,还提及了常量和变量在实际应用中可能出现的问题,如段错误和野指针。 ... [详细]
  • 代理模式的详细介绍及应用场景
    代理模式是一种在软件开发中常用的设计模式,通过在客户端和目标对象之间增加一层中间层,让代理对象代替目标对象进行访问,从而简化系统的复杂性。代理模式可以根据不同的使用目的分为远程代理、虚拟代理、Copy-on-Write代理、保护代理、防火墙代理、智能引用代理和Cache代理等几种。本文将详细介绍代理模式的原理和应用场景。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 本文介绍了一种图片处理应用,通过固定容器来实现缩略图的功能。该方法可以实现等比例缩略、扩容填充和裁剪等操作。详细的实现步骤和代码示例在正文中给出。 ... [详细]
  • 本文简述了数据库的概念、作用及发展阶段的特点。数据管理技术的发展经历了人工管理阶段、文件系统阶段和数据库系统阶段,分别描述了各个阶段的特点。数据库、数据库管理系统和数据库系统的含义和联系也进行了简述。数据库是长期存储在计算机内、有组织、可共享的大量数据的集合,而数据库管理系统是整个数据库系统的核心部分,负责统一管理和控制用户对数据库的操作。数据库系统是以数据库为基础的应用系统。总结了数据库的保存方式、管理方式、共享性和独立性等特点。 ... [详细]
author-avatar
纠结的狂欢_583
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有