[答疑]UMLChina的Logo是不是不对劲

news/2024/11/29 20:44:51/

DDD领域驱动设计批评文集>>

《软件方法》强化自测题集>>

《软件方法》各章合集>>

Lynn 2023-4-6 13:55

潘老师,咱umlchina的标记是不是不太对劲,火柴人指向用例的箭头是三角形似乎不合uml的标准。

UMLChina潘加宇

是的。如果按UML规范解读,这个图是错误的。(后面有反转)

这么多年以来,偶尔就会有人问这个问题。

其实我在不同场合都简单解释过,当面,聊天室,MSN,QQ群……。现在用公众号比较详细地解释一次,作为存档。

UMLChina现在用的Logo是这样的:

三角形是泛化关系,图中的意思是执行者泛化到用例,即“执行者是用例的一种”,错的。

执行者和用例可以看作关联关系,表示为一条实线,如下图:

您可以注意到,上图没有箭头,UML规范的意思是:执行者和用例之间是双向关联,因此不应该有箭头。

****回忆一****

UMLChina图标是在2001年由当时的一位成员设计的,还包括UMLChina幻灯片的样式以及UMLChina网站的蓝白风格,沿用到今天。

当时我的意思是用小人圈圈的形状做一个logo,但设计人员不懂UML,就用了三角箭头。拿出来以后,我也知道是错的,但设计人员觉得三角形更美观,于是也就沿用下来了,后来就不想改也懒得改了。

就当作是一个美术设计,不要从UML规范的角度去解读就是了。

就像看到品牌起名叫“盒马”,不要说“错别字了,应该是河马”,就当故意叫“盒马”吧。

****回忆二****

记忆里,好像第一个和我说这个logo问题的是当时在Rational的尤克滨(Amos You),2002年8月Rational在国贸中心搞了一个活动宣传自家产品,我作为UML的“民间代表”也去捧场做了个演讲。

在现场,还见到了Rational的另一位同事,潘氏家族的优秀代表,在水木清华BBS上被盛赞的潘海量女士(Helen Pan),此处引用李敖曾经讲的于右任故事,“看看也好”。

如果当年的网络也有这么发达,后来的奶茶妹妹可能就火不起来了,最多是个山寨版。

****反转****

现在想来,其实用个三角形箭头也未尝不可。

我现在依然用箭头,以便区分主执行者和辅执行者,像下图:

如果按照类图的表示来解读,这样是不合理的,因为即使要改成单向关联,也应该是用例指向执行者更合适,毕竟用例需要懂得更多。

但是,用例和执行者是关联关系,这是元模型的含义,而元模型(目前)是类图,模型的表示法并不需要、也不可能只用类图或对象图的表示法。

例如,用例和执行者相关的元模型部分可以是这样:

改成单向关联的话,可能是这样:

对象图可能是这样:

但用例图并不需要表达成这样:

小人圈圈我们一般是表达成:

既然如此,用有向箭头、三角形箭头、甚至其他符号来表示都是可以的,因为这是用例图不是类图。UML规范可以为用例图安排更生动的表示法。

其他模型也类似,例如状态机,两个状态之间有迁移,元模型中是“状态”类和“迁移”类之间有多个关联,但状态机模型中根本就没有“迁移”结点,迁移是边。


33套UML/SysML+EA/StarUML的建模示范视频-全程字幕(20230217更新)


http://www.ppmy.cn/news/102034.html

相关文章

ERP的需求分析

目录 什么是需求分析? 开发背景 01、系统模块 02、基础资料 供应商信息</

2023年真无线蓝牙耳机买什么品牌好一些?盘点几款值得买的蓝牙耳机

蓝牙耳机是一种无线耳机&#xff0c;其通过蓝牙技术与其他设备进行连接&#xff0c;例如手机、电脑、平板电脑等。蓝牙耳机使得用户可以在不受线缆限制的情况下享受音频体验&#xff0c;而且还可以方便地进行通话&#xff0c;目前市场上有许多不同种类和品牌的蓝牙耳机&#xf…

企业数字化转型,为什么会加快商业智能BI的发展

对于企业数字化转型来说&#xff0c;数据是其中提到最多的词汇。当今世界&#xff0c;随着人们认识到数据的重要性&#xff0c;明白了数据发挥价值的方式及其意义&#xff0c;数据资产就成为数字化转型企业需要掌握利用的关键。 数据可视化 - 派可数据商业智能BI可视化分析平台…

f1c200s---编译uboot

目录 前言安装必要工具安装交叉编译链工具 下载Uboot切换分支查看配置文件 配置Uboot修改Makefile配置文件 编译uboot出现/bin/sh: 1: python: not found错误出现multiple definition of yylloc错误出现FATAL ERROR: Unable to parse input tree错误出现/usr/bin/env: python2:…

分类、标签设计及查询优化

文章目录 问题分类和标签的设计知名开源系统的设计jive论坛Solo博客系统的设计wordpress的数据库设计 参考链接 问题 在很多业务系统中&#xff0c;都有对对象的分类和标签设计。在数据库层面如何设计相应的表&#xff0c;以及如何做查询优化&#xff0c;是一个比较普遍的问题…

docker可视化管理工具portainer忘记密码重置教程

目录 前言&#xff1a; 1 停止portainer容器 2 借助仓库 portainer/helper-reset-password 重置密码 3 重新启动portainer容器 4 验证是否修改成功 5 修改登录密码 前言&#xff1a; 由于学习的深入&#xff0c;各种账号密码实在是太多了&#xff0c;建议各位配置账号密…

【线程池】线程池的7种创建方式,详细讲解

文章目录 一、什么是线程池&#xff1f;二、线程池的分类三、线程池的使用四、ThreadPoolExecutor详解 一、什么是线程池&#xff1f; 线程池&#xff08;ThreadPool&#xff09;是一种基于池化思想管理和使用线程的机制。它是将多个线程预先存储在一个“池子”内&#xff0c;…

「实在RPA·交通物流数字员工」促进数字化转型加「数」度

一、交通物流行业数字化转型的重要性 作为国家和地区相连接的枢纽&#xff0c;交通物流行业在国民生活中扮演着重要的角色。经济的发展以及电商行业的迅速崛起使得交通物流业的重要作用更加凸显。随着5G技术、大数据云计算、机器人流程自动化的迅速发展&#xff0c;以及交通强…