UML不可导航关系-用法或示例 [英] UML Non-Navigable Relationships - Use or Example

查看:10
本文介绍了UML不可导航关系-用法或示例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

谁能给我一个现实生活中的用法或(全部?)末端是不可导航的?(与下图相似)

推荐答案

根据uml标准(关于关联语义的第11.5.3.1节):

可导航性意味着实例在运行时参与链接 (关联实例)可从以下位置高效访问 关联另一端的实例。精确的机械装置 实现这种有效访问的方式是具体实现的。 如果一端不可导航,则从另一端访问可能或可能 不可能,如果是,可能效率不高

示例1

让我们想象一下UserAccountCLearTextPassword之间的关系:

  • 用户帐户未以明文形式存储密码。它存储该密码的哈希。使用加密质量的哈希,您无法从UserAccount导航到ClearTextPassword
  • 相反,对于已知的ClearTextPassword,您无法直接找到UserAccount。您首先必须计算散列。最后,导航是可能的,但效率很低,因为计算可能很重。

示例2

让我们想象一个安全的分类账。该分类账中的每一个Transaction都由一个委托的User记录。但分类账不会保留对User的任何引用:它只会保留交易的数字签名。我知道乍一看这听起来很愚蠢,但想象一下voting machine that must guarantee anonymity of votes...

因此UserTransaction之间存在关联:

  • 在任何时间点,您都可以验证特定Transaction是否由给定用户录制(是否存在关联)。
  • 您不能从User导航到他/她记录的Transactions:您错过了仅由用户控制的私钥,您无法计算事先不知道的交易的哈希,因此无法重新计算签名(这是唯一的连接元素)。
  • 相反,您不能从Transaction导航到User:您可以找到的唯一方法是用所有用户的公钥验证签名,找到匹配的签名。这是可行的,这肯定是非常低效的。

这篇关于UML不可导航关系-用法或示例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆