[答疑]业务序列图的虚线、实线和没有线

Java本地AI推理初体验:Jlama+LangChain4j构建离线问答系统 Jlama 是专为 Java 生态设计的现代化大型语言模型(LLM)推理引擎,旨在让开发者无需依赖外部服务即可直接在 Java 应用中运行本地化模型推理。本文将结合Jlama + langchain4j 实现一个本地可运行的简单问答Demo。 阅读详情

DDD领域驱动设计批评-文集-点击查看>>

大熊 2022-3-25 11:42

在学习您的课件。人事系统没有消息到主管,员工有,意思是不是直接找人?按照您说的箭头的意思是请求帮忙,备案的箭头是不是应该反过来系统请求人事专员?什么时候该画虚线,不是很理解,想请老师指教。

UMLChina潘加宇

不同的画法,体现了不同的场景,不是随便乱画的。我们一步步看一下:

【步骤1:交请假单】

问题所给图中,人事系统没有实线或虚线箭头指向主管,也就是说,人事系统在这一步没有和主管有任何交互。

如果是下面这样,人事系统和主管有一条虚线:

图1

意思是人事系统会有信息给主管,但员工这边并不等待着主管知晓信息以及作出回应。

更具体一点的场景,例如:

员工使用人事系统交请假单,人事系统保存好,然后,人事系统会在它和主管交互的界面上反馈一条和该请假单相关的信息,但主管什么时候注意到,就不知道了。员工也觉得这样就行了,放下这个事情,去干别的事了。

如果是下面这样,人事系统和主管有一条实线:

图2

意思是,员工使用人事系统交请假单,人事系统请求主管批假,而且员工是期望着马上批的。

如果这样画,主管如何通过人事系统批假的交互已经包含在人事系统指向主管的箭头中,不需要再画一条主管指向人事系统的“批假”消息,可修改如下:

图3

体现在用例图上,像下面这样:

图4

当然,由于批假也合并在里面,“交请假单”的名字有点小了,可以改为“请假”。

像图3和图4这样,电脑系统调用人肉系统的情况,是比较少见的,碰到的时候要谨慎再想一想,是不是确实是这样。可以参考《软件方法》:

图5

这里要注意“意淫”错误。

如果员工使用人事系统交请假单,人事系统保存好,就完了,并没有给主管反馈任何信息,那么按照你所提问题中的图这样画就可以,像这样:

图6 同问题图

但有的人就会想:按照工作流程规定,这个请假单接下来是给主管审批的呀,等主管下次用人事系统批假的时候,人事系统就会把这张请假单给主管看……于是,他就“意淫”了一条消息,像图1这样画:

图7 同 图1

这是不对的。

首先,在这一步,并没有任何事情发生,这条消息纯属意淫;

其次,也是最致命的认识错误,以为数据和行为是一一对应的——把“请假单”数据和“主管批假”行为绑在一起。而这个世界之所以复杂,或者说软件之所以复杂,就是因为数据和行为不是一一对应的。一条“请假单”数据摆在那里,接下来会用到该数据的行为可能是“主管批假”,还有可能是“员工撤销”、“时间过期失效”、“人事专员批量删除”等等,如果要意淫就应该充分意淫,这样画才对:

图8

上面的意淫还有一种变体:

图9

员工使用人事系统交请假单,然后人事系统自己来一个“流转到主管环节”,其实系统可能只是把请假单保存下来,根本不存在一个“流转到主管环节”这样的行为。

建模人员可能意淫了一个采用某工作流框架的设计方案,把它带入业务序列图中,这样的内容连需求都不是,更不用说业务建模了。

涉众在意的可能是“主管负责审批自己所主管部门的员工提交的请假单”或“请假单必须经过提交请假单的员工所属部门的主管审批通过才能生效”这样的业务规则,这些规则可能会绑定到人事系统的某个用例规约的某个步骤。如果是问题所给的图的情况,应该在“主管→批假”用例中,如果是图2或图3的情况,应该在“员工→交请假单(更贴切是“请假”)”用例中。

【步骤2:员工找主管】

再来看员工找主管这一步:

图10

意思是员工请求主管批假。

例如,员工面对面用肉嗓子向主管请求;

例如,员工通过微信、QQ、电话、Email向主管请求,但采用哪一种方式,不属于我们关注的核心域的问题,也不影响我们的改进结果,那么就可以不用画微信、QQ、电话系统、邮件系统等,表达如图10即可。

参见《软件方法》:

图11

如果强调用某种通信方式,例如微信,可以画成这样:

图12

微信是和员工、主管平等的系统。员工已经不能请求主管批假,只能请求微信发消息,然后看微信的脸色。

【步骤3:人事部专员备案】

再往下看,问题所给图中,人事部专员是孤零零的,没有任何人肉系统或电脑系统给他发消息。

意思就是他吃饱喝足,啥时候有空想起来有这个么事了,就到人事系统这边来备案。

如果此处又没事找事,非得从哪里画一个消息指向人事部专员,那又属于意淫了。

【DevOps】rancher集成ldap,实现统一账号登录 登录到rancher控制台,选择【安全】-【认证】 选择【OpenLDAP】 其中【搜索起点】需要去ldap界面查配置完成 阅读详情

相关推荐

【无标题】 Python自动化法律文书撰写

Jinja2是一个功能强大的模板引擎,支持丰富的语法和功能。除了条件判断和循环语句外,Jinja2还支持过滤器、宏、继承等高级特性,非常适合处理复杂的文书模板。

master_chenchen的博客 2063

Visual Paradigm创建Java类图时如何绘制实线箭头?

在使用visual paradigm创建类图时 无法选择实现箭头 →,网上搜了很多资料无果 (包过visual paradigm自带的教程),特此记录。 解决方案

nbme的博客 3572

开关电源的纹波和噪声电压-抑制方法

开关电源(包括AC/DC转换器、DC/DC转换器、AC/DC模块和DC/DC模块)与线性电源相比较,最突出的优点是转换效率高,一般可达80%~85%,高的可达90%~97%;其次,开关电源采用高频变压器替代了笨重的工频变压器,不仅重量减轻,体积也减小了,因此应用范围越来越广。 但开关电源的缺点是由于其开关管工作于高频开关状态,输出的纹波和噪声电压较大,一般为输出电压的1%左右(低的为输出电压的0.5%左右),最好产品的纹波和噪声电压也有几十mV;而线性电源的调整管工作于线性状态,无纹波电压,输出的噪声电压也

ltqdxl的博客 1万+

Visio如何画箭头

在使用visio作图时,经常忘记如何画箭头,因此在此做一个记录

m0_61703832的博客 1万+

医药行业新零售项目数据分析报告——基于Excel的分析与可视化

不同平台客户支付金额用数字+百分比展示更直观。各大区支付金额分析较为粗浅,后续可加入不同大区人数、配送费等进行细分分析。图表略微单一,可采用组合图,运用两个及以上维度对数据进行分析。数据来源本项目数据来源于某机构的项目案例,以上分析内容均为本人原创,不涉嫌抄袭。原做项目,新平台首发。

2401_84213513的博客 1495

MATLAB 设置legend加标题

x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1) hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled') hold off legend({'sin(x/2)','2016'},'Location','northwest','Orientation','horizontal')%水平 legend添加标题 lgd = legend; lgd.Fon

早起CaiCai的学习空间 4713

UML用例图-用例图

使用场景:用例图并没有涉及太多细节,例如,不要期望它为执行步骤的顺序建模。相反,适当的用例图描述了用例,参与者和系统之间的关系的高级概述。建议使用用例图来补充更具描述性的文本用例。 UML用例图非常适合: 表示系统用户交互的目标 定义和组织系统中的功能需求 指定系统的上下文和需求 在用例中对事件的基本流程进行建模 那么一个基本的用例图的组成部分有以下: 用例: 椭圆形表示。描述这个系统可以做什么,用例最好是有逻辑顺序的排放,比如下图中登录用例(log in )放在转账(transfer)前面 参与者:

qq_37146039的博客 1147

workbench拓扑优化教程_拓扑优化实例-轮毂的优化

拓扑优化实例-轮毂的优化ANSYS Workbench的新版本集成了topology optimization模块,为用户的拓扑优化提供的很好的应用。通过拓扑优化topology optimization模块的使用可以对拓扑有较好的理解,该模块拓扑优化可以简单概括为一句话:如何在合适的位置去除确定的材料使用量,而相应的刚度变化影响最小。本例以汽车轮毂为例,来确定轮毂的辐条形状。1.建立模型DM中可...

weixin_39581739的博客 3043

UML—用例图

UML的用例图是从用户的角度出发的,是被称为参与者的外部用户所能观察到的系统功能的模型图,使用范围非常的广,所以说一定要好好的理解该图,下面的用例图实例是我根据机房收费系统画的用例图,也是我画的有关UML的第一张图,欢迎各位大神们的指导。

张姐姐聊编程 1366

CANape快速上手

文章帮助记录CANape学习过程。

小弱鸡的博客 1万+

python爬虫抖音 个人资料 仅供学习参考 切勿用于商业

本文仅供学习参考 切勿用于商业 本次爬取使用fiddler+模拟器(下载抖音APP)+pycharm 1. 下载最新版本的fiddler(自行百度下载),以及相关配置 1.1.依次点击,菜单栏-Tools-Options-HTTPS,如图1红框打钩,HTTPS旁边Connections配置,如图2红框打钩 1.2.再次点击HTTPS栏,点击Actions选择第二个…to ...

dbva7063的博客 1491

UML之用例图用法

用例图(use case diagram)是用户与系统交互的最简表示形式,展现了用户和与他相关的用例之间的关系。通过用例图,人们可以获知系统不同种类的用户和用例。用例图也经常和其他图表配合使用。 用例图元素 角色 标识与系统交互的用户、组织或外部系统,用一个小人图形表示。 用例 表示系统的对外提供的功能。用一个小椭圆表示。 容器 表示一个完整系统的边界,将用例包含在内。用一个大椭圆或者矩形表示。 关系 ...

进击的小白 8879

解决【x2openEuler环境检查未通过——CheckRepoCurlActor不通过】问题

摘要:x2openEuler使用默认repo源时出现环境检查失败问题,原因是默认源返回308永久重定向错误。解决方法包括:1)为CentOS主机配置华为yum源;2)在x2openEuler Web界面修改为自定义可用源。具体步骤包括备份原源、下载华为源、清除缓存,并通过curl测试确认新源可用性。最终成功配置openEuler-24.03-LTS-SP1版本的repo源后,环境检查顺利通过。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 258

最全Visual Paradigm for UML使用手册

帮助读者快速了解UML

weixin_39335663的博客 2418

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

UML--序列图详解

序列图的基本概念 序列图(Sequence Diagram)是对象之间基于时间顺序的动态交互,它显示出了随着时间的变化对象之间是如何进行通讯的。序列图的主要用途之一是从一定程度上更加详细地描述用例表达的需求,并将其转化为进一步的更加正式层次的精细表达。 序列图的含义 序列图用于表现一个交互,该交互是一个协作中各种类元角色间的一组消息交换,侧重于强调时间顺序。 所谓交互(Interaction)是指...

吴声子夜歌的博客 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

(五)UML-时序图

文章目录前言时序图常用元素人实体生命线激活生命线交互激活可以叠加提示框的使用实线与虚线的规则完整的一个例子 前言 时序图可以反映业务场景下各主体的操作以及操作顺序,可以讲人、系统、事件有机的结合起来。 时序图常用元素 人 实体 实体可以时系统,可以是终端等等 生命线 生面线时一条垂直向下当虚线,只有虚线表示对应实体没有采取任何动作 激活 激活表示生命线对应的实体有了动作,主动或...

༺ bestcxx的专栏 ༻ 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

UML——用例图

如果在两个或更多的基本用例中存在类似的行为,并且这些类似的行为又可独立地构成一个用例,那么就可以把这些行为提炼出来构成一个被包含的用例。包含用例与衍生它的多个基本用例之间就属于包含关系,包含关系在用例图中的表示:使用一条带箭头的虚线,并在虚线附近加上,箭头的方向由基本用例指向包含用例。在基本用例的基础上,思考基本用例在处理自身行为之外,还能做什么有易于业务需求的事情,如果存在,那么就把这个事情委托给其他用例(扩展用例),表示该事情被扩展了,以此在基本用例和扩展用例之间就形成了扩展关系。

prayszll的博客 7730

UML用例图

UML(Unified Modeling Language)用例图的缩写为UCD,其中UCD代表Use Case Diagram。用例图是软件系统设计中的一种图形化表示工具,用于描述系统的功能需求和用户与系统之间的交互。用例图主要用于捕捉系统的行为视图,展示系统中的参与者(actors)和用例(use cases)之间的关系。

xxx 1593

架构设计必备:时序图说明及画法

用途 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。 梳理业务流程 梳理代码逻辑 元素类型 1.角色(Actor) 用法:系统角色,可以是人或者其他系统,子系统。 画法:以一个小人图标表示。 2.对象(Object) 用法:对象代表时序图中的对象在交互中所扮演的角色...

进击的小白 6万+

用例图

用例图(User Case) 用例图是用来描述什么角色通过某某系统能做什么事情的图,用例图关系的是系统的外在表现,系统与人的交互,系统与其它系统的交互。 下面逐一说明用例图中各种符号的意义:小人: 对使用某系统的用户进行分类后,可以总结出使用本系统有哪些角色,不同的角色的工作责任不太一样,他们需要用到的系统的功能也会不太一样。 小人就是角色,它给了我们一个启示,我们思考某系统的需求时,可从不同角色的角度来思考。 例如:我们要做一个考勤系统,你会怎样思考呢?会一下子列出很多功能?比较好的方式,...

子非鱼的博客 3449

UML图,时序图

类与类,继承关系:实线空心箭头指向父 类与接口,实现关系:虚线空心箭头指向接口 类与类,关联关系:一个类是另一个类的属性,实线箭头指向属性类。 类与类,聚合关系:整体和部分的关系,是特殊的关联关系,实线空心菱形指向整体 类与类,组合关系:特殊的聚合关系,整体的声明周期决定部分的生命周期,部分是依赖在整体上面的。例如:人和四肢的关系。 实线实心菱形指向整体。 类与类,依赖关系:是所有关系中最弱的关系,这种关系通常体现在类和局部变量之间的关系,虚线箭头指向类 时序图: 实线箭头:调用方法 虚线箭头:

weixin_45613170的博客 2642

时序图个人理解

时序图:用来表示完成某个行为的对象和相关的其他对象传递消息的时间顺序。 组成: 对象。 对象的生命线:存在的生命线。 激活框:在对象生命线上,表示对象执行一个操作经历的时间。 消息:对象之间的一条水平箭头。表示对象和对象之间的消息通信,在消息上可填写所调用的方法和备注。 返回使用虚线。 ...

winterflyer的博客 1532

UML之序列图详解

序列图(Sequence Diagram),也称为顺序图或时序图,是一种UML交互图,用于描述系统中对象之间的动态协作和消息传递的时间顺序。时序图通过展示对象间发送消息的时间顺序,帮助开发者理解和设计系统的行为和结构。

犬余的博客 1万+

UML之时序图详解

转载请注明出处 : http://blog.youkuaiyun.com/shulianghan/article/details/17...

sinat_27143551的博客 2591

用gif图展示UML中箭头和线条的含义,及搞懂UML类图、时序图和用例图

前言 新进入一家公司,应对 日常的软件开发工作和交流,要能看懂别人写的代码各个类之间的关系,那就需要您能看懂类图uml中各个类之间的线条、箭头代表什么意思? UML的类图中,一共有以下六大关系: 泛化(Generalization), 实现(Realization), 依赖(Dependence),关联(Association),聚合(Aggregation) ,组合(Composition) 为了避免反复看,反复记,但是还是记不住,采用gif动图及幽默比喻的解释,来加深,对她们的理解。 从uml

阿啄debugIT 5533

UML 用例图

用例图 由参与者,用例,边界构成 参与者:与系统交互的角色 用小人 用例:系统对外部可见的功能 用椭圆 边界: 划分出系统 一般用矩形 描述关系的线 图片来源

海胆的博客 786
上一篇: 《软件方法》强化自测题-业务建模(3)
下一篇: 《软件方法》强化自测题-需求(1)
rolt
博客等级 码龄26年 8025粉丝 2003原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值