活动介绍

UML交互图与活动图详解

立即解锁
发布时间: 2025-08-16 02:43:50 订阅数: 1
PDF

UML用户指南:从入门到精通

### UML 交互图与活动图详解 #### 1. 代码分析与逆向工程 首先来看一段代码: ```java public void register() { CourseCollection c = getSchedule(); for (int i = 0; i < c.size(); i++) c.item(i).add(this); this.registered = true; } ``` 一个“足够智能”的工具需要意识到`getSchedule`方法返回的是一个`CourseCollection`对象,这可以通过查看操作的签名来确定。通过使用标准的迭代习惯遍历这个对象的内容,代码可以泛化到任意数量的课程提供。 逆向工程(从代码创建模型)对于序列图和协作图都是可行的,特别是当代码的上下文是一个操作的主体时。之前图的部分可以由一个工具从`register`操作的典型执行中生成。需要注意的是,正向工程很直接,而逆向工程则很困难。简单的逆向工程很容易获取过多信息,所以难点在于巧妙地选择要保留的细节。 #### 2. 模型动画与交互图创建提示 比从代码进行逆向工程更有趣的是将模型与已部署系统的执行进行动画关联。例如,给定之前的图,一个工具可以在运行系统中调度消息时对图中的消息进行动画展示。更棒的是,在调试器的控制下使用这个工具,你可以控制执行速度,还可以设置断点在有趣的点停止操作,以检查单个对象的属性值。 在创建 UML 交互图时,有以下提示和技巧: - 序列图和协作图都是系统动态方面同一模型的投影。没有单个交互图可以捕捉系统动态方面的所有内容,而应该使用多个交互图来对系统整体及其子系统、操作、类、用例和协作的动态进行建模。 - 一个结构良好的交互图应具备以下特点: - 专注于传达系统动态的一个方面。 - 仅包含理解该方面所必需的元素。 - 提供与抽象级别一致的细节,并且只展示理解所必需的修饰。 - 不过于简约,以免误导读者关于重要的语义。 - 绘制交互图时: - 给它一个能传达其目的的名称。 - 如果你想强调消息的时间顺序,使用序列图;如果你想强调交互中涉及的对象的组织,使用协作图。 - 布局元素以减少交叉线。 - 使用注释和颜色作为视觉提示,以吸引对图中重要特征的注意。 - 谨慎使用分支;使用活动图可以更好地表示复杂的分支。 #### 3. 活动图概述 活动图是 UML 中用于对系统动态方面进行建模的五种图之一。它本质上是一个流程图,展示了从一个活动到另一个活动的控制流。活动图用于对系统的动态方面进行建模,主要涉及对计算过程中的顺序(可能还有并发)步骤进行建模。通过活动图,还可以对对象在控制流的不同点从一个状态移动到另一个状态的流程进行建模。活动图可以单独用于可视化、指定、构建和记录对象集合的动态,也可以用于对操作的控制流进行建模。与交互图强调对象之间的控制流不同,活动图强调活动之间的控制流。活动是状态机内正在进行的非原子执行。活动最终会导致一些动作,这些动作由可执行的原子计算组成,会导致系统状态的改变或返回一个值。 活动图不仅对于建模系统的动态方面很重要,而且对于通过正向和逆向工程构建可执行系统也很重要。 #### 4. 活动图示例:建造房屋工作流 以建造房屋的工作流为例,首先选择一个场地,接着委托建筑师设计房屋。确定方案后,开发商会招标确定房屋价格。一旦就价格和方案达成一致,就可以开始施工。获取许可证、破土动工、浇筑基础、搭建框架等等,直到一切完成。最后,你会拿到钥匙和入住证书,从而拥有这所房子。 虽然这是对实际施工过程的极大简化,但它确实抓住了工作流的关键路径。在实际项目中,各个行业之间有很多并行活动。例如,电工可以与水管工和木匠同时工作。你还会遇到条件和分支。例如,根据土壤测试的结果,你可能需要爆破、挖掘或打桩。甚至可能会有循环,例如,建筑检查可能会发现违反规范的情况,导致报废和返工。 在建筑行业,甘特图和 PERT 图等技术常用于可视化、指定、构建和记录项目的工作流。在对软件密集型系统进行建模时,也有类似的问题,即如何最好地对工作流或操作进行建模,这两者都是系统动态的方面。答案是有两个基本选择,类似于使用甘特图和 PERT 图。一方面,可以构建涉及某些有趣对象的交互以及它们之间可能调度的消息的场景故事板。在 UML 中,可以通过两种方式对这些故事板进行建模:强调消息的时间顺序(使用序列图)或强调交互对象之间的结构关系(使用协作图)。这样的交互图类似于甘特图,专注于随时间执行某些活动的对象(资源)。另一方面,可以使用活动图对这些动态方面进行建模,活动图首先关注对象之间发生的活动,在这方面,活动图类似于 PERT 图。活动图本质上是一个强调随时间发生的活动的流程图。可以将活动图看作是一个翻转的交互图。交互图关注传递消息的对象,而活动图关注对象之间传递的操作。语义差异很微妙,但会导致看待世界的方式非常不同。 #### 5. 活动图的术语和概念 活动图展示了从一个活动到另一个活动的流程。活动是状态机内正在进行的非原子执行。活动最终会导致一些动作,这些动作由可执行的原子计算组成,会导致系统状态的改变或返回一个值。动作包括调用另一个操作、发送信号、创建或销毁一个对象,或进行一些纯计算,如计算一个表达式。从图形上看,活动图是顶点和弧的集合。 #### 6. 活动图的常见属性和内容 活动图是一种特殊的图,与所有其他图共享相同的常见属性,即一个名称和作为模型投影的图形内容。交互图与所有其他类型的图的区别在于其内容。活动图通常包含: - 活动状态和动作状态 - 转换 - 对象 活动图基本上是活动图中元
corwn 最低0.47元/天 解锁专栏
赠100次下载
继续阅读 点击查看下一篇
profit 400次 会员资源下载次数
profit 300万+ 优质博客文章
profit 1000万+ 优质下载资源
profit 1000万+ 优质文库回答
复制全文

相关推荐

SW_孙维

开发技术专家
知名科技公司工程师,开发技术领域拥有丰富的工作经验和专业知识。曾负责设计和开发多个复杂的软件系统,涉及到大规模数据处理、分布式系统和高性能计算等方面。
最低0.47元/天 解锁专栏
赠100次下载
百万级 高质量VIP文章无限畅学
千万级 优质资源任意下载
千万级 优质文库回答免费看

最新推荐

Coze扩展性分析:设计可扩展Coze架构的策略指南

![Coze扩展性分析:设计可扩展Coze架构的策略指南](https://cdn-ak.f.st-hatena.com/images/fotolife/v/vasilyjp/20170316/20170316145316.png) # 1. 可扩展性在系统设计中的重要性 随着信息技术的迅猛发展,用户规模的不断增长以及业务需求的多样化,系统设计中的可扩展性(Scalability)已成为衡量一个系统是否优秀的核心指标。在本文第一章,我们将探讨可扩展性的定义、它在系统设计中的重要性,以及如何影响企业的业务扩展和持续增长。 ## 1.1 可扩展性的定义 可扩展性通常指的是系统、网络、或者软件

【Coze工作流API集成】:第三方服务无缝融入故事视频制作的秘诀

![【Coze工作流API集成】:第三方服务无缝融入故事视频制作的秘诀](https://www.teclasystem.com/wp-content/uploads/2020/01/plan.png) # 1. Coze工作流API集成概述 在当今数字化转型的时代,应用程序接口(API)已成为企业与第三方服务之间通信的桥梁。Coze工作流平台正是通过集成各种API,为视频制作工作流程提供自动化、高效和优化的解决方案。本章节将概述Coze工作流API集成的基本概念、优势以及如何为视频制作行业带来变革。 API集成不仅仅是技术层面的对接,更是一种战略思维,它能够简化开发流程,提高工作效率,并

AI技术应用:coze工作流智能视频内容提取扩展

![AI技术应用:coze工作流智能视频内容提取扩展](https://cdn.analyticsvidhya.com/wp-content/uploads/2024/08/Screenshot-from-2024-08-01-17-03-42.png) # 1. coze工作流的基础和原理 在当今数字化时代,数据的爆炸性增长要求我们更高效地处理信息。工作流管理系统(Workflow Management System,WfMS)成为了协调和自动化企业内部复杂业务流程的重要工具。**coze工作流**,作为其中的一个代表,将工作流技术和人工智能(AI)相结合,为视频内容提取提供了全新的解决方

【Coze视频制作最佳实践】:制作高质量内容的技巧

![【Coze视频制作最佳实践】:制作高质量内容的技巧](https://qnssl.niaogebiji.com/a1c1c34f2d042043b7b6798a85500ce4.png) # 1. Coze视频制作基础与工作流概述 ## 引言 在当今数字化时代,视频内容已成为沟通和信息传递的核心手段。对于Coze视频而言,它不仅仅是一种视觉呈现,更是具备高度参与性和交互性的媒体艺术。制作一部优秀的Coze视频需要一套精心设计的工作流程和创作原则。 ## 基础概念与重要性 Coze视频制作涉及到剧本创作、拍摄技术、后期制作等众多环节。每个环节都直接影响到最终的视频质量。在开始制作之前,理

【图像内容关键解码】:专家解读图像特征提取与描述技术(解锁图像之门)

![【图像内容关键解码】:专家解读图像特征提取与描述技术(解锁图像之门)](https://ar5iv.labs.arxiv.org/html/1711.05890/assets/chair_compare.png) # 1. 图像特征提取与描述技术概述 ## 1.1 什么是图像特征提取与描述 图像特征提取与描述技术在计算机视觉领域扮演着至关重要的角色。简单地说,这些技术旨在从图像中自动识别和量化图像内容的关键信息,从而进行后续处理,如图像分类、检索和识别。特征提取涉及识别图像中的显著点或区域,并将其转化为可以用于机器处理的形式。而特征描述,则是为这些关键区域创建一个紧凑的数学表示,即描述符

【transformer原理揭秘】:自然语言理解的深度解析

![【transformer原理揭秘】:自然语言理解的深度解析](https://api.ibos.cn/v4/weapparticle/accesswximg?aid=80348&url=aHR0cHM6Ly9tbWJpei5xcGljLmNuL3N6X21tYml6X3BuZy9kOGljNHZhVFFrSDlrYTBuRmN6cDJ3SFZMTFFtWVJXN05SVGpzMHlzMXAwRGthOVVERXFXTDJPQW0wekRxeVVIZHFPaWJRY29acWdxYTRmVE5oUHhSdzdnLzY0MD93eF9mbXQ9cG5nJmFtcA==;from=appmsg)

【AI微信小程序的预测分析】:coze平台的数据洞察力

![【AI微信小程序的预测分析】:coze平台的数据洞察力](https://wechatwiki.com/wp-content/uploads/2019/01/Mini-Programs-Key-Stats-2019.jpg) # 1. AI微信小程序的概述与发展趋势 随着微信平台的持续扩展,AI微信小程序作为其新兴的一部分,正在逐步改变我们的生活和工作方式。AI微信小程序依托于人工智能技术,结合微信庞大的用户基础,为用户提供更加智能化和个性化的服务。本章将对AI微信小程序的概念进行详细阐释,并对其发展趋势进行预测分析。 ## 1.1 AI微信小程序定义 AI微信小程序是指集成人工智能技

【MATLAB数据挖掘】:心电信号异常模式的识别与预测,专家级方法

![【MATLAB数据挖掘】:心电信号异常模式的识别与预测,专家级方法](https://static.cdn.asset.aparat.com/avt/25255202-5962-b__7228.jpg) # 1. 心电信号挖掘的理论基础 在现代医学诊断中,心电信号(ECG)的精确挖掘和分析对于预防和治疗心血管疾病具有至关重要的意义。心电信号挖掘不仅仅局限于信号的捕获和记录,而是一个多维度的信息处理过程,它涉及到信号的采集、预处理、特征提取、模式识别、异常预测等多个环节。本章将对心电信号挖掘的理论基础进行详细介绍,为后续章节中的数据处理和模式识别等技术提供坚实的理论支撑。 ## 1.1

声学超材料的可持续发展与环保应用:创新解决方案与未来趋势

![声学超材料的可持续发展与环保应用:创新解决方案与未来趋势](https://media.springernature.com/full/springer-static/image/art%3A10.1038%2Fs41428-023-00842-0/MediaObjects/41428_2023_842_Figa_HTML.png) # 1. 声学超材料概述 在本章中,我们将从基础概念开始,探讨声学超材料的定义及其在现代科技中的重要性。我们将介绍声学超材料如何通过操控声波来实现传统材料无法完成的任务,如声音隐身和超分辨率成像。此外,我们还将简要探讨这些材料对声音传播特性的影响,为读者理解

从零开始:单相逆变器闭环控制策略与MATLAB仿真,基础到专家的必经之路

![从零开始:单相逆变器闭环控制策略与MATLAB仿真,基础到专家的必经之路](https://img-blog.csdnimg.cn/direct/cf1f74af51f64cdbbd2a6f0ff838f506.jpeg) # 1. 逆变器闭环控制基础 在探讨逆变器闭环控制的基础之前,我们首先需要理解逆变器作为一种电力电子设备,其核心功能是将直流电转换为交流电。闭环控制是确保逆变器输出的交流电质量(如频率、幅度和波形)稳定的关键技术。本章将介绍逆变器闭环控制的基础理论、控制方法及其重要性。 ## 1.1 逆变器的作用与重要性 逆变器广泛应用于太阳能光伏发电、不间断电源(UPS)、电动车