acm-header.
登入

ACM的通讯

博客@cacm.

不胜过千言万语


Bertrand Meyer.

在我的编程方法(WG2.3)的IFIP工作组的第一次会议上三分钟,Edsger Dijkstra举手 - 或不说:“为什么这个箭头红色和那个蓝色?“会议的主席(Natarajan Shankar)通过说,”你不必回答这个问题“并敦促我继续下去。Dijkstra令人惊奇地敌对花哨的演讲技巧和任何类型的吹风。我不确定他与PowerPoint和解自己。但他有一个观点。经常,技术文本通常用图片替代物质。

图形插图可能是理解的很大帮助。它们特别适合于给出问题和解决方案的结构。但是,它们的使用需要谨慎。(这些观察是关于我即将到来的要求工程和业务分析的摘要大部分摘要1,也为我的背景提供了背景上一篇关于这个博客的文章。)

看到读者在读者处闪光花式图形而不小心定义正在使用的约定的精确含义,这一切都太常见了。这种“框和箭头”图在网络中特别常见,如下图来自维基百科,描述了“面向服务的架构”的组件和连接。


此示例根据许多图形插图中的问题键入问题:

  • 究竟是什么意味着在另一层(例如“数据服务/消息传递”)上有一个特定的层(例如“服务”)?它们之间的隐含关系是什么?
  • 具体而言,层之间的白色连接器(看起来像蝌蚪陷入暴风雪的蝌蚪)的含义是什么?如果存在一般规则,每个层都依赖于下面的一个,为什么在下面的“进程/管弦郎”和“服务”之间有三个连接器,只有两个“监视/事件管理”和“进程/编排”之间的两个连接器?为什么某些连接器通过中间层,例如从“进程/编程”直接到“数据服务/消息传递”以及“服务”到“遗留”?这些案件是否违反了传统信息隐藏规则?
  • 为什么一些元素,如“遗产”,出现了两次?可能有超过两个“遗留”元素,并且(在同一级别)多于一个“数据”,所以重复可能会建议重复出现的元素,但我们要理解,那么只有一个“新服务”“以及”基于互联网的服务“?
  • 这些层具有不同的性质。“数据服务/消息传递”图层为某些网络服务提供API(程序接口)。另一方面,“数据抽象,”只是一般的方法论概念。分层苹果和橘子令人困惑。
  • 垂直箱在两侧的作用尚不清楚。他们似乎表明,安全和治理适用于各级(它们是“交叉切割”的关注)。由于很难想到信息技术中任何类型的努力 - 或者,对于此事项,任何其他人类聪明才智领域 - 其中不适用这种观察,这对面向服务的架构的规范似乎几乎不为必要。假设盒子在图中表现了它们的斑点,他们的放置是令人费解的:安全停止是对较低级别的关注,例如“新服务”,盒子不会延伸到哪个桌子?为什么有蝌蚪来自“治理”的战略关注,“存储库”技术艺术品?(大概是拥有存储库有助于治理,但存储库还将帮助“流程/编程”,“监控/事件管理”,并只是关于所有其他水平层。令人费解的。)

这种图片,因为它们在精确度弱的令人瞩时强烈,在技术文件中是常见的。他们是珍贵的,因为它们使读者能够快速掌握系统的结构。然而,这种印象可以是欺骗性的。

当使用此类插图时,我们应该特别注意图表元素之间的连接器 - 通常,某种线条或箭头。

通常情况下,图为作者包括箭头以指示组件A以某种方式依赖于组件B,或者以某种方式(或者知道B,或者使用B,或者使用B,或者在某些未指定的B中涉及b大大地。这种模糊性在任何用于对系统开发产生影响的技术文件中是不合适的。“注意轴承箭头的盒子。”

除非他们明确地说明所有图形符号的含义(语义),否则图片可以做得更好。

除了连接组件的箭头之外,表示组件本身的符号需要具有精确指定的语义。如果您有各种各样的使用正方形,矩形,椭圆形,圆圈和其他形状,请确保它们对应于您的突发发生物,而是对不同的概念,每个都明确说明。

我们现在永远不会满足于此类纪律之后的插图是否满足Dijkstra,但至少他们在帮助而不是令人困惑的读者时有一个很好的镜头。

参考

[1] Bertrand Meyer:要求和业务分析手册,2021,出现。

Bertrand Meyer.是Schaffhausen Tearphoto(瑞士)的教授和普通教授,是Innopolis大学的访问教授,以及埃菲尔软件(Goleta,CA)的首席技术官。


没有发现任何条目

登入完全访问
“ 忘记密码? »创建ACM Web帐户
Baidu
map