UML建模风格之顺序图

每天进步一点点 从系统执行效率方面讲,基于DNS的负载均衡机制实现简单,但其通常不能区分服务器的差异,也不能反映服务器的当前运行状态。采用基于反向代理的负载均衡机制,可在代理服务器中引入调速缓存机制,对Web服务器返回的静态页面或图片等静态资源进行缓存,由代理服务器承担对原始服务器的静态资源访问请求,从而进一步降低原始Web服务器的负载。一种自项向下的软件可靠性分析方法,即从软件系统不希望发生的事件(顶事件),特别是对人员和设备的安全及可靠性产生重大影响的事件开始向下逐步追查导致事件发生的原因,直至基本事件(底事件)。 阅读详情
5.2 创建交互视图

 

交互视图描述了实现系统行为角色之间的消息交换序列。分类角色是对交互中充当特殊角色的对象的描述。交互视图提供了系统中行为在全局的描述,显示了多个角色间的控制流程。交互视图用侧重点不同的两种图来显示:顺序图和协作图。

消息指角色间的单向通信,从发送者到接收者的携带信息的控制流。消息可能带有角色间传递值的参数。

顺序图和协作图均显示了交互,但它们强调了不同的方面。顺序图显示了时间顺序,但角色间的关系是隐式的。协作图表现了角色之间的关系,并将消息关联至关系,但时间顺序由于用顺序号表达,并不十分明显。每一种图应根据主要的关注焦点而使用。

a.顺序图

顺序图表示了随时间安排的一系列消息。每个分类角色显示为一条生命线,代表整个交互期间上的角色。消息则显示为生命线之间的箭头。顺序图可以表达场景,即一项事务的特定历史。

顺序图以二维图表来显示交互。纵向是时间轴,时间自上而下。横向显示了代表协作中单个对象的分类角色。每个对象用方框表示,对象的名字在方框内部,并在名字的下方加下划线。每个分类角色表现为垂直列-生命线。在角色存在的时间内,生命线显示为虚线;在角色的过程激活时间内,生命线显示为双线。

消息显示为从一个角色生命线出发至另一个角色生命线的箭头,箭头用从上而下来的时间顺序来安排。顺序图的一个用途是显示用例的行为序列。当行为被实现时,每个顺序图中的消息同对象的操作或状态机中迁移上的事件触发相一致。

图4 表示处理请求用例的顺序图。图中五个方框分别表示五个对象:ProcessMonitor、EngineManager、Engine、EntactmentDB、Logfiles。这个用例是由ProcessMonitor 接收用户操作,再将这些操作转换成固定的请求,发送给引擎执行而产生的。

当ProcessMonitor 接收到用户在界面上所作的操作后,将这些操作转换为固定的命令请求,发送给EngineManager。EngineManager 再根据接收到命令的类别,将命令分发给不同的Engine。Engine 则具体执行相应的命令。Engine 执行完命令后,通知EntactmentDB 修改相应的数据。接下来,Engine 再通知Logfiles 将所作的操作记录下来,以供以后查询。最后,Engine 直接将结果返回给ProcessMonitor,由ProcessMonitor将结果包装,显示给用户。

b.协作图

协作图对交互中存在意义的对象和链建模。对象和链仅在提供的上下文中存在意义。分类角色描述了对象,关联角色描述了协作中的链。协作图通过图形的几何排布显示交互中的角色。消息显示为附属在连接分类角色的关系直线上的箭头。消息的顺序由消息描述前的顺序号来表示。

协作图的一个用途是表现操作的实现。协作显示了操作的参数和局部变量,以及更永久性的关联。当行为被实现时,消息的顺序与程序的嵌套调用结构和信号传递一致。

图5表示对应于处理请求用例的协作图。这个用例是由ProcessMonitor 接收用户操作,再将这些操作转换成固定的请求,发送给引擎执行而产生的。这个协作图表现了处理请求用例所涉及的五个相关对象之间相互协作的关系。

5.3 创建状态机视图

状态机视图通过对一种对象的可能生命历史进行建模,描述了对象在时间序列上的动态行为。每个对象被认为是通过检测事件并对之响应来与外界进行通讯的孤立实体。事件表达了对象可以检测的变动-对象间的调用或显示信号、某个值的改变或时间的推移。任何影响对象的事物可以被描述成事件。真实世界发生的事情被建模成外部世界至系统的信号。

状态指就某个特定类而言,对于发生的事件具有相同性质响应的一系列对象值。换言之,同一状态的所有对象以相同的方式响应某个事件,即对于给定的所有对象在接收到同一事件时执行相同的动作。而不同状态的对象可能对相同事件具有不同的响应,执行不同的动作。

状态机包含由事件连接的状态。每个状态对对象生命期中的一段时间建模,该时间内对象满足一定的条件。当事件发生时,它可能导致迁移的激发,使对象改变至新状态。当迁移激发时,附属于迁移的动作可 能被执行。状态机在UML 中显示为状态图。

在状态机视图中,状态用带圆角的长方形表示,初始状态用实心填充的圆表示,结束状态用实心填充的圆外套一个圆圈表示。

图6 表示过程实例的状态机视图。从图中可以看出,一个工作流定义的过程实例,在运行时可能有五种不同的过程,分别为初始状态、就绪状态、运行状态、挂起状态与结束状态。

 

一个过程实例在初始时,均为初始状态(initial state)。根据需要,某个过程实例被创建(create),成为就绪状态(Ready)。随后,用户可以根据需要,选择就绪状态的过程实例进行启动(start),被启动的过程实例的状态就变为运行状态(Running)。处于就绪状态和运行状态的过程实例都可以通过取消操作(abort)转变为结束状态(end state)。处于运行状态的过程实例,通过挂起操作(hold),可以转变为暂时停止的挂起状态(Holded),同时处于挂起状态的过程实例也可以通过运行操作(run)转变为运行状态。挂起状态与结束状态的区别在于挂起状态并不释放所占用的资源,因而是可以恢复的。最后,一个处于运行状态的过程实例如果运行完毕,通过完成操作(finish)转变为结束状态。

状态机可以用于描述用户界面、设备控制和其它交互式子系统。它们还可用于在生命期中经历了若干特定阶段,每个阶段拥有特殊的行为的对象。

5.4 创建活动视图

活动视图是用于显示执行某个计算过程中的运算活动的状态机的一种特殊形式。活动状态代表了运算执行的状态:流程的步骤或操作的执行。活动图描述了顺序和并发活动分组。活动视图表达为活动图。

活动图包含活动状态。活动状态表现了过程中语句的执行或工作流中活动的运行。与一般等待状态等待事件不同,活动状态等待的是运算的结束。当活动结束时,执行处理到图中的下一个活动。前一个活动结束时,活动图中的结束迁移被激发。活动状态通常没有外部事件的迁移,但它们可以由外围状态的事件而被取消。

在活动图中,用左右两段是圆弧的长方形表示活动,用较粗的横线表示活动的分发,用带有箭头的线表示活动处理的先后顺序。

图7 表示用户的操作活动图。用户在使用系统所提供的功能之前,首先应当登录系统,也就是说,操作的第一步是登录(login)。登录之后,用户可以在三种操作中任选一个执行:选择过程定义(choose process define)、选择过程实例(choose process instance)以及选择工作项(choose workitem)。这三个活动的执行,没有先后顺序,完全由用户进行选择。

 

当用户选择了过程定义后,可以创建一个所选的过程定义的实例,也就是执行创建过程定义活动(create process define);当用户选择了一个过程实例后,根据这个过程实例状态的不同,可以对这个过程实例进行终止(abort)、启动(start)、挂起(hold)与运行(run)等操作,这些操作的执行是没有先后顺序的;当用户选择了一个工作项后,可以执行这个工作项,也就是做这个工作项的内容(do workitem)。

根据以上使用用例视图、交互视图、状态机视图以及活动视图对工作流管理系统所应具有的功能层次进行的分析,对通用工作流管理系统要达到的目标,应当有了一个较为清晰的认识。而这些认识与理解,将为进一步的设计,奠定良好的基础。  

UML建模与架构文档化 文章目录一、UML建模与架构文档化1、UML应用与未来2、UML基础a.用例和用例图b.交互图c.类图与对象图3、基 于 UML 的软件开发过程4、系统架构文档化二、设计模式类之间的关系及原则一、类之间的关系(我拿Visio作图举例)1.继承关系2、实现关系3、依赖关系4、关联关系5、聚合关系6、组合关系二、设计模式的原则(简单列出)三、设计模式1.创建型模式2、结构型模式3、行为型模式下面简单做... 阅读详情

相关推荐

UML实战指南:类图、用例图、顺序图提升软件设计效率

在软件工程领域,统一建模语言(UML)是一种标准化的图形化建模语言,它通过一套规范的符号体系,将复杂的软件系统抽象为可视化的模型。其核心原理在于利用类图、用例图、顺序图等不同视角的图表,分别描述系统的静态结构、功能边界和动态交互行为。掌握UML的技术价值在于,它能够将模糊的需求和设计思想固化为清晰的蓝图,成为开发团队内部以及与客户之间高效沟通的“通用语言”,从而显著降低沟通成本,减少设计缺陷,并直接提升开发效率。在实际应用场景中,无论是电商系统的订单流程梳理,还是在线教育平台的功能范围界定,UML都能帮助开

weixin_34326558的博客 721

UML之顺序图

UML顺序图所表达的正是这种基于时间的动态交互。 顺序图能够加强产品经理、开发、测试之间对系统功能的进一步了解,通过顺序图我们能够全貌的了解到系统的流程,为我们后续进行测试设计打下了坚实的基础。 顺序图除了能够对需求进行分析外,还可以完成很多我们工作上的其他内容,譬如梳理部门的工作流规范(Bug流程、提测流程、用例评审流程、用例编写流程等),甚至可以对部门角色的职能描述。

master-计算机科学专栏 4万+

UML-网上图书销售系统顺序图实战:从理论到PlantUML代码生成

本文以网上图书销售系统为例,详细演示了如何从业务逻辑分析到使用PlantUML代码生成UML顺序图的完整实战流程。通过拆解从搜索图书到下单支付的核心交互场景,手把手指导编写PlantUML代码,并分享版本控制、团队协作等高级技巧,帮助开发者将设计文档工程化,提升软件设计效率与质量。

weixin_29263201的博客 560

UML顺序图(序列图、时序图)

用例是一个系统提供给参与者的外部接口,代表着一系列交互步骤,最终目标是要实现参与者的目标。用例的表达有条简洁至上的原则,即越朴素越好,越不涉及代码知识越好,而且用例很难与类、接口等元素一一对应。因此,为了方便开发人员统筹和协调各个类和对象顺序图用于描述系统功能的各个不同角色之间相互协作、传递消息的顺序关系。顺序图也被称作序列图、时序图)是按时间顺序显示对象交互的图,具体来说,它显示了参与交互的对象和所交换信息的先后顺序,用来表示用例中的行为,并将这些行为建模成信息交换。

m0_58111460的博客 2万+

UML 2.5 核心图实战:从5道易错判断题到3个完整建模案例解析

本文深入解析UML 2.5核心图,通过5道易错判断题揭示常见概念陷阱,并结合3个完整建模案例(电商订单、图书馆借阅、智能家居)展示面向对象方法在软件工程中的实战应用。帮助开发者掌握类图、顺序图、状态图等关键建模技术,提升系统设计能力。

weixin_30245867的博客 670

每天10分钟,混剪视频Agent产出50条爆款,单月变现6位数(喂饭级教程)

混剪视频是指将多个视频片段、图片或音频素材进行剪辑组合,创造出新的视频内容。随着Coze上线联动剪映功能,混剪视频制作正在进入自动化时代,为创作者带来巨大便利。高效自动化处理:AI可以自动完成琐碎的剪辑工作,让创作者省下大量时间专注于项目策划和创意。批量素材产出:特别适用于抖音、小红书和视频号等平台上的养生、科普、心理、疗愈等垂直领域,可以自动化批量生产图片和视频素材。引流获客:通过优质内容吸引目标受众知识变现:通过教学传授技术工具变现:将搭建好的工作流作为产品销售。

汤师爷的博客 864

UML-顺序图

UML-顺序的基础知识

???? 3828

玄机-Linux权限维持-后门

玄机-Linux权限维持-后门

m0_46439803的博客 763

UML 交互图--顺序图(sequence diagram)「时序图/序列图」

opt时序片段就像一个没有else子句的简单if语句,可以添加一个守卫条件,只有当守卫条件的结果为true时,系统才会执行opt片段中所包含的消息。strict并行操作允许运算对象以任何顺序执行,但是一旦指定的运算对象开始执行,它内部的所有操作就必须按照指定的顺序完成,然后其他运算的对象才能开始执行。「系统根据par时序片段给出规则,可自由交叉执行任何操作的消息,但是一旦系统进入临界区(执行msg4a操作),par时序片段中的其他线程就不能执行」系统允许以任何顺序,执行不同运算对象的不同生命线上的操作。

weixin_41565414的博客 7123

【PyBind11+anaconda+opencv+windows11+cmake+wsl+vscode】从入门到跑通。构建基于opencv c++的python package

如何安装请详见上文 【PyBind11+anaconda+opencv+windows11+cmake+wsl+vscode】从入门到跑通。构建基于opencv c++的python接口_子韵如初的博客-优快云博客w不需要安装啥x11 、 xming直接mobxterm可以搞定点击右上角的X server打开可视化服务器然后 apt install x11-apps -yxclock 搞定从mobxterm可以看到display的端口X11显示可视化的原理是就是通过X协议,类似于http对linux于w

weixin_43953700的博客 3万+

IPMI的SOL (Serial Over LAN) 和 UART

UART全名是Universal Asynchronous Receiver/Transmitter(通用異步接收/发送器),它是一个常用的異步串行传输协议。透过UART传输前,接收方须要先知道传输方的鲍率(Baud rate):单位时间内,讯号状态变化的次数。例如 115200 bps,表示每秒会传送115200个bits--> 因此读取率就是 1/115200=8.6微秒读取一次讯号。封包内的资料长度:通常是 8bits。

yeiris的博客 1万+

软件工程 行为建模

UML2.0中对行为建模的图包括状态图 顺序图 时间图 不包括对象图 顺序图中带条件的消息发送,不能采用分成多个顺序图子图来描述 顺序图的组合控制框中,用于表达分支选择关系的控制符是alt 当一个顺序图过大时,最好的处理方法是添加ref框,建立顺序图间的引用关系 用例分析阶段的用例图要包含设计对象,并关注参数消息 × 大部分对象的状态空间是由它的属性取值决定的 状态迁移的发生不会受到目标状态的影响 UML状态图中的状态可以分解为“与”状态以及“或”状态,但都可以转化为基本状态机来表示 ...

qq_40774672的博客 843

TWR-K65F180M评估板:基于Cortex-M4的嵌入式原型开发实战指南

在嵌入式系统开发中,微控制器(MCU)是核心,而围绕其构建的硬件平台则是将想法转化为可工作原型的关键。Cortex-M4内核凭借其高效的流水线、DSP指令集和浮点单元,为实时控制与信号处理提供了强大的运算能力。其技术价值在于,能够在较低功耗下满足工业控制、物联网网关等场景对能效比的严苛要求。为了快速验证系统设计,开发者常使用成熟的评估板来规避底层硬件设计的风险,直接聚焦于应用开发。本文以恩智浦的TWR-K65F180M评估板为例,深入解析其基于**ARM Cortex-M4**内核的K65 MCU的硬件架构

weixin_33582311的博客 370

设计模式、面向对象一:面向对象

什么是面向对象编程? 面向对象编程是一种编程范式和编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石 什么是面向对象编程语言? 面向对象编程语言是支持类或对象的语法机制,并有现成的语法机制,能方便的实现面向对象编程四大特性(封装、继承、抽象、多态)的编程语言 如何判定一个编程语言是否是面向对象编程语言? 如果按照严格的定义,需要有现成的语法...

圆哥哥纳丶的博客 231

语音算法面试复习系列3——语音识别基础 + CTC 详解

摘要:本文系统讲解了语音识别(ASR)的核心算法CTC。主要内容包括:1) ASR的核心挑战是输入音频帧与输出文字序列的对齐问题;2) CTC通过引入blank标记和动态规划算法,无需对齐标注即可训练;3) 详细解析CTC前向算法实现路径概率求和,以及贪心和Beam Search解码方法;4) 指出CTC的条件独立性假设导致无法建模输出依赖关系;5) 对比CTC与传统方法和Attention/Transducer的优缺点,分析实际应用中的subsampling技术。文章包含数学推导、代码实现和面试常见问题,

m0_60605453的博客 305

Autosar MCAL-S32K324 Fls配置-基于EB

Autosar MCAL Flash配置,基于S32K324,EB软件

赞的博客 1513

软考高项-第五章 信息系统工程

软考,高项,PMP,信息系统项目管理

小超 285

Android应用发布到Google Play的步骤和注意事项

发布Android应用到Google Play是将您的应用分享给全球用户的重要步骤。Google Play是Android平台上最大的应用分发渠道之一,使得开发者可以轻松将他们的应用推广到数百万的用户。在本篇博客中,我们将逐步介绍如何将您的Android应用发布到Google Play,同时提供详细的步骤和注意事项,以及相关的代码示例。

2201_76125261的博客 850

【UML】UML建模

用例图 参与者、用例的基本概念。 1.2 用例描述的格式要求。 1.3 绘制用例图。 2 类图和对象图 2.1 类图的基本概念。 2.2 分析识别类,绘制类图。 2.3 绘制对象图。 3 顺序图 3.1 顺序图的组成。 3.2 顺序图中的消息类型。 3.3 绘制顺序图。 4 状态图 4.1 状态机的含义。 4.2 状态机图中的基本标记符。 93 4.3 绘制状态图。 ...

HR的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

uml-----什么是UML

一.什么是UML UML 介绍: 1997年,OMG 组织(Object Management Group对象管理组织)发布了统一建模语言(UnifiedModelingLanguage,UML)。UML 是一种编制软蓝图的标准化语言, 它的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。 UML 提出了一套 IT 专业人员期待多年的统一的标准建模符号。 通过使用...

无名小辈 1879

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

UML简介

UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。UML支持面向对象的技术,能够准确的方便地表达面向对像的概念,体现面向对象的分析和设计风格。UML不仅可用于软件设计,也可以用于软件需求分析。 UML的模型主要有三部分构成 事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽...

juneyu 2207

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

UML建模

UML建模常见的图组成元素解释和应用对象说明,以及最重要的例子和图的对应说明都在这里哦。

weixin_43803387的博客 3076

UML入门,带你了解UML!

文章目录1.前言2.UML介绍3.UML的概念模型 1.前言         如果你要建造一座高层办公大楼,若是先备好材料、钉子和一些基本工具就开始工作,那将是非常愚蠢的。因为你所使用的资金可能是别人的,它们会对建筑物的规模、形状和风格做出要求。同时,他们经常会改变想法,甚至是在工程已经开工之后。由于失败的代价太高了,因此必须要做详尽的计...

松落 1505

从零开始学UML:顺序图中的激活期与消息类型详解(附常见错误排查)

本文深入解析UML顺序图中的核心概念——激活期与消息类型。通过对比同步与异步消息的本质差异,结合实战案例详解激活期如何精准反映系统运行时行为与控制流,并提供常见错误排查清单,帮助开发者绘制逻辑清晰、沟通高效的顺序图,提升软件设计质量。

ansible6ops的博客 219
上一篇: 解析UML工作流管理系统
下一篇: UML建模风格之状态图
SmartJavaer
博客等级 码龄21年 13粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值