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

news2025/2/24 10:04:14

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.coloradmin.cn/o/582920.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

张驰咨询:六西格玛绿带培训如何帮助酒店降低成本和提高客户满意度?

六西格玛是一种质量管理方法,旨在通过减少缺陷和提高效率来提高客户满意度。在酒店行业中,六西格玛可以帮助酒店降低成本和提高客户满意度的方法有:减少浪费、提高效率、优化客户体验、降低维护成本等等。下面张驰咨询给大家分享两个真实案例…

免改造数据安全技术,实现企业关键数据资产保护落地

4月26日,腾讯安全联合中国信通院“数据安全推进计划”共同在深圳举办了数据安全研讨会。炼石网络创始人兼CEO白小勇受邀出席,分享了“免改造数据安全的实践与思考”的议题,与中国信息通信研究院云计算与大数据研究所高级业务主管龚诗然、腾讯…

SpringMvc源码分析

概述 用户的请求,是如何被 DispatcherServlet 处理的 先看图 从图中可以看到请求首先是被 DispatcherServlet 所处理,但是实际上,FrameworkServlet 先被触发 我们看下处理各种请求的方法 Overrideprotected final void doGet(HttpServletR…

JavaEE进阶(5/28)SpringMVC

目录 1.什么是SpringMVC? 2.学习SpringMVC学习了什么? 3.SpringMVC核心1 4.SpringBoot传递参数 5.SpringBoot传递对象参数 6.SpringBoot传递表单 7.SpringBoot后端参数重命名 8.SpringBoot后端用来接收json对象 1.什么是SpringMVC? 1.…

如何在手机和平板中浏览三维实景模型?

对于数据量庞大的三维实景模型,想要在手机和平板中进行在线浏览并实现实时交互,一般平台很难实现这些功能。 四维轻云是一款操作简单、支持在线协作、在线展示及在线分享的三维实景模型在线浏览平台。在四维轻云平台中,用户可以创建项目&…

人生苦短,我用Python:如何入门Python的世界

人生苦短,我用Python:如何入门Python的世界 Python是一门非常简洁、易读、高效的编程语言,适合初学者入门。自从1991年问世以来,Python已经在全球范围内成为了众多工程师、科研人员、数据分析师等人群的首选编程语言。本文将详细…

数据库DBMS并发控制

pgsql(PostgreSQL)常用命令行操作_pgsql常用命令_石头wang的博客-CSDN博客 事务的操作和事务的性质 操作演示 三种典型数据不一致现象: 串行调度和可串行调度 串行调度 顾名思义 就是可以进行调度的意思 可串行调度 就是 一种和串行调度等价的并行调…

Quest 3初体验,或是苹果MR最大竞争对手

随着苹果MR临近,我们从彭博Mark Gurman了解到更多消息。昨日,Mark Gurman发布了Quest 3上手体验文章,并认为Quest 3可能是苹果MR头显最大的竞争对手。 1,Meta是XR头显领导者 尽管WWDC 23苹果MR将会成为最大的主角,但…

Android音视频开发2:So库适配总结

名词解析 Android NDK 是在SDK前⾯⼜加上了原⽣⼆字,即Native Development Kit,因此⼜被Google称为 NDK。C/C编写代码。so 为共享库,是shared object。 前⾔ ⽇常开发我们经常会使⽤到第三库,涉及到底层的语⾳,视频等都需要…

【虚拟机】VMware虚拟机安装Windows 10系统 详细教程

大家好,我是雷工! 由于购买的电脑自带系统为windows11家庭版,而有些软件无法在家庭版中安装,所以考虑用虚拟机再装个Windows10专业版系统。 前一段时间在Windows11 家庭版上安装的KingSCADA软件运行时总反应很慢,准备…

【MLC】 TensorIR 练习

文章目录 前言TensorIR 练习TensorIR: 张量程序抽象案例研究练习 1:广播加法练习 2:二维卷积练习 3:变换批量矩阵乘法程序 总结 前言 这两天重新看了一下天奇的mlc课程文档,把里边儿的TensorIR 练习写了一下,顺便推广…

ubuntu循环登录,无法进入桌面

现象 在用户登录界面输入用户名和密码后无法正常登录,并且一直循环提示输入登录信息。 问题定位 1. 键入:ctrlaltF1, 进入命令行登录界面 2. 输入当前的用户名和密码(也可以是root,操作需谨慎) 3.…

【SonarQube】下载、安装、配置、使用介绍

文章目录 SonarQube安装运行使用root启动问题处理修改文件数限制JDK版本问题创建Project创建token扫描代码数据持久化在线文档 SonarQube安装 官网下载地址: http://www.sonarqube.org/downloads/9.9.1.69595下载地址: https://binaries.sonarsource.com/Distribution/sonarqu…

chatgpt赋能python:Python下载之后怎么用:详细教程

Python下载之后怎么用:详细教程 Python作为一种著名的编程语言,已经成为众多程序员和开发者的首选。因此,如果您也想开始使用 Python 来进行编程,那么下一步应该是下载和安装Python。但是,下载完 Python 之后&#xf…

范式迁移 | Squids DBMotion支持Oracle迁移到GaussDB

Squids DBMotion 2304发版成功,再添重量级数据同步功能——支持Oracle迁移到GaussDB。 GaussDB是华为自主创新研发的分布式关系型数据库。该产品具备企业级复杂事务混合负载能力,同时支持分布式事务,同城跨AZ部署,数据0丢失&…

企业使用WordPress网站的6个理由

WordPress 为超过三分之一的网络和超过 38%的顶级 10K 网站提供支持。它最初是一个博客平台,现在是世界上使用最广泛的内容管理系统,对于希望在未来几年扩大规模的网站所有者来说,是一个明智的选择。 除了使用开源软件的好处之外&#xff0c…

从古板到智能:机器程序的华丽转身

因为 ChatGPT 的热潮,目前在恶补人工智能方面的知识。在某一篇文章的评论中,我看到了一个问题:“为什么 ChatGPT 能这么厉害,基本什么问题都能回答,如何做到的” 这也是我想问的问题,在初学编程的时候&…

Packet Tracer - 配置区域策略防火墙

Packet Tracer - 配置区域策略防火墙 拓扑 地址表 设备 接口 IP地址 子网掩码 默认网关 交换机端口 R1 F0/1 192.168.1.1 255.255.255.0 N/A S1 F0/2 S0/3/0 (DCE) 10.1.1.1 255.255.255.252 N/A N/A R2 S0/3/0 10.1.1.2 255.255.255.252 N/A N/A S0/3…

Unity 反射探针

反射射探针 是用来模拟反射周边物体的光照信息的一种解决方案让物体,受周围物体的光照或材质进行影响的一种模拟光照效果。如下图效果: 反射探针属性截图 反射探针类型 Baked 烘焙模式,此种模式需要反射的物体是静态的不能移动,但…

如何高效提问,准确搜索,开发小白不会百度?

How-To-Ask-Question ?其实我也是小白,这个问题没有太多发言权。目前来说,我暂时也没有找到一个通法,但整体上来说也不是无迹可寻(是有一定技巧和经验在里面的)。我之前也经常遇到了一些这方面问题&#x…