关于 UML 类图的问题吗?

2024-01-09

您好,我有一些关于 UML 类图的问题,我们将不胜感激

1)如何在属性中显示指针?

2)什么是多重性?

3)构图箭头应该朝什么方向?

4)如何放置枚举?


根据当前的 UML 标准 2.4.1 和下一个 2.5(几乎仅在更简单的文档中有所不同):

  • 指针/引用应显示为箭头,引用端带有小黑圆圈(点)。如果不是对象作为属性的指针,但以任何方式计数,都会出现不带点的箭头。如果该线的两侧都应有箭头,则可以省略两个箭头。但不是点!如果箭头仅在一侧,并且您知道另一侧不应有箭头,则该空端应用十字标记

在做其他事情之前你应该先了解

该协会是什么

  • 从 A 到 B 的关联显示为 A 和 B 之间的实线。它可以表示一种将 A 的类/实例与 B 的类/实例连接起来的结构。该结构可以是任何类型并且属于任何地方。有关该线路的所有信息都描述了该结构。
  • 如果有两个结构,一个结构将 A 的一个实例与 B 的实例连接,另一个结构将 B 的实例与 A 的实例连接,则可以在 ONE 关联中显示它们。然后,有关其B端的信息描述了第一个结构(b->a),有关另一端的信息描述了另一个结构。
  • 如果从 A 到 B 有多个结构,则必须绘制两个不同的关联。
  • 如果连接结构很复杂,您可以将其表示为关联类。您可以在那里定义更多详细信息。
  • 连接结构可以连接两个以上的类,然后它将显示为一个大菱形,并具有指向这些类的实心分支。依然是协会!注意:现有工具对这两个更复杂的关联的支持非常差。你可以很容易地用它们创造出一些完全毫无意义的东西。而且它们很困难。小心使用。


  • Multiplicity.
    • 一个结构的情况:关联两端的多重性表明该结构控制着该相邻类的多少个实例。
    • 两种结构的情况:A-B关联的A端的重数表明,有多少A的实例是由从B引导到A的结构控制的。B端有0或1。另一边的号码属于another结构。
  • 如果还不够的话,可以对这两个结构使用两个关联。

是的,这并不容易,抱歉。但“更简单”的 2.5 UML 标准文本要简单得多。简单的解释是错误的,使用它你很快就会在任何实际任务中遇到问题。

  • 作文及其相关内容。

    • 只有一种成分“箭头”,正如你所说的,它被称为黑色或全钻石。它位于容器, not parent, 当然。另一种是空菱形,称为“共享聚合”,简称“共享”。它没有严格定义,您可以使用它来创建自己的标准。当然,将其放在项目-容器关联的项目侧是愚蠢的。但它很容易位于关联的两端。
    • 为什么合成钻石只能在一侧?因为组合意味着,项目仅在容器(或容器本身)存在对它们的引用时才存在。当然,这不可能对双方都有利。
    • 通常,您可以看到“共享聚合”的名称“聚合”。这是一个严重的错误。因为,按照标准,composition, shared乃至none,这三个都是聚合。有人混淆了父项和子项术语。
  • 简单的旧枚举很容易 - 它们有一种类块,@MagicMan 说得正确。但它们已经过时了。如果你使用更详细的Java的枚举类型(当然,其他语言也有它),并且你为不同的项目设置不同的字段或函数,你必须使用class块,只有您必须创建自己的构造型(如果您的工具还没有)并为其设置适当的类块。

Edit:

所以,简单的指针是带点的箭头。但是,如果存在另一个后退导航,则根本不会有箭头,而只有点。

在C++中,实例A可以不通过指针,而是直接获得B实例。它没有特殊的 UML 符号,它应该以与普通指针属性相同的方式显示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于 UML 类图的问题吗? 的相关文章

  • 是否可以从 MatLab 代码生成流程图? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我继承了一个 MatLab 项目 其中有一堆我需要重构的 MatLab 文件 能够生成流程图或类似的内容对我有很大帮助 我用谷歌搜索了
  • BPMN的优点和缺点?

    我希望您能告诉我从开发人员的角度来看 BPMN 的优点和缺点是什么 我将 UML 与 BPMN 进行比较 发现 UML 有很多优点和缺点 但 BPMN 却没有 这很大程度上取决于观众和目的 在建模语言方面 BPMN 和 UML 活动图涵盖了
  • 如何在 UML 中将属性显示为“只读”?

    我想用图表描述 API 的一些模型 是否有标准如何将属性标记为readonly 这些属性由系统设置 API 使用者无法修改 目前我滥用类图符号private and public属性 但我对此并不满意 谢谢你的想法 通常 当您进行接口编码时
  • 在 Visual Studio 2017 中的类图中创建聚合和组合

    我正在考虑在 Visual Studio 中创建类图 我注意到工具箱似乎只允许类之间的关联关系 是否可以在类图中创建更强的关系 即聚合和组合关系 另外 是否可以从代码自动创建类图 好问题 首先 Visual Studio VS 类设计器不是
  • 如何在 UML 类图中表示回调

    我有一个界面说 Interface ICallback public void informFunction 我有一堂课说 Class Implementation implements ICallback public Implement
  • 从 umbrello 中的 java 代码自动创建类图?

    我能够将 java 代码导入到 umbrello 中 但是 如何自动生成类图呢 也许雨伞可以not有那个功能 来自handbook http docs kde org stable en kdesdk umbrello code impor
  • UML 类图概念、规范、实现

    我目前正在阅读 Martin Fowler 的 UML Distilled 我刚刚介绍了有关类图的部分 他在其中强调了在对类图进行建模之前理清自己的观点的必要性 然而 在实际绘制类图时 我对它的实际外观有点困惑 例如 我理解理论含义会改变关
  • 如何在 UML 中指定“一次一个”?

    我正在制作一个类图Classroom and a Course class 我怎样才能表明Classroom只能有一个Course一次在其中吗 我知道我可以使用多重性来指定教室可以只开设一门课程 但这并不能完全指定在不同时间可以有除该一门课
  • 用例可以没有参与者吗?

    我正在研究全自动系统的用例图 外部系统只会触发该系统的一个用例 大多数其他用例都是计划任务并由计时器调用 我有一个由计时器调用的用例 它包含并扩展了其他两个用例 当我编写用例描述时 谁将成为 UC 2 和 UC 3 的参与者 用例可以在没有
  • XMI 2.1.1 的 XSD

    我必须使用 JAXB 解析 XMI 文件 xmi 版本 2 1 1 为此 我必须生成与 XMI 文件相对应的 Java 类 因此 我需要 xmi 文件的 shema 定义才能使用 jxc 工具执行此操作 我希望有人知道在哪里可以找到这个文件
  • 如何*真正*编写 UML 基数?

    我想一劳永逸地知道如何编写 UML 基数 因为我经常不得不争论它们 所以非常欢迎证明和来源 如果我想解释一下a Mother可以有几个Children but a Child有且仅有一个Mother 我应该写 Mother 1 Child
  • 如何使用 js/uml 对 JavaScript 文件进行逆向工程?

    Goal 我的目标是从我的 JavaScript 项目 由多个 js 文件组成 中获取 UML 模型并将其存储为 XMI 我已经走了多远 我在网上搜索了一下 发现js uml是第一个去的地方 我已经设法让 js uml 插件与 Eclips
  • 如何表示类的实例与将其作为输入的类之间的关系?

    我有一堂课叫House 这个类的实例是house class House def init self height length self height height self length length def housePlan hou
  • 如何使组合键唯一?

    I am making a database of students in one school Here is what I have so far 如果您不喜欢阅读 请跳至 简而言之 部分 问题是我对这个设计并不满意 我想要的组合gra
  • 双向和单向关联 UML

    虽然我以为我明白了aggregation and composition 我很难理解bi directional and uni directional协会 我读过bi directional协会 两个班级都知道 彼此以及与uni dire
  • 聚合多重性 UML

    我和我的同事在某一点上无法达成一致 在 UML 中 当进行聚合时 菱形边重数最大为 1 或者可以是 0 吗 还是取决于某种观点 先感谢您 首先 您需要具体说明您指的是哪个 钻石 作为空钻石聚合填充钻石是作品 如果你的意思是空钻石 那么 Ic
  • Android Studio 上的代码 Iris 插件

    我正在尝试使代码 iris 插件在 Android studio 上工作 我按右键单击 gt 创建代码虹膜图 然后我收到一条通知 表明我的图表已准备就绪 但我不知道该图何时存储 创建的文件的名称是什么以及如何打开它 有任何想法吗 CODE
  • UML 只能用于面向对象吗?

    目前 在我的论文期间 存在着关于 UML 是否仅用于 OO 开发 的激烈争论 我从一些来源进行了搜索 其中给出了很多关于它的论点 就我自己而言 我相信并非所有 UML 图都是专门为 OO 系统 软件开发而制作的 即 状态图 因此 我希望得到
  • 如何设计/规划Web应用程序开发?

    我有兴趣学习如何在多个开发团队场景中设计 规划 Web 应用程序开发 担任 项目经理 主管 的角色 成功的 Web 应用程序开发需要哪些 文档 需要哪些 UML 图以及需要到什么程度 在设计 计划阶段 是否需要根据用例对每个类进行图表化 类
  • [GoF]-ConcreteSubject 可以覆盖通知方法吗?

    我正在模拟一种情况 其中存在 通知框 观察者 list1 list2 list3 这个科目 现在我会制作一张图表 其中使用观察者模式描述每个列表实现不同类型的notify 这一事实 例如 列表状态的某些变化只需要按照某些标准通知给某些观察者

随机推荐

  • 一根衬垫可压平嵌套对象

    我需要展平嵌套对象 需要一个内衬 不确定此过程的正确术语是什么 我可以使用纯Javascript或库 我特别喜欢下划线 我有 a 2 b c 3 而且我要 a 2 c 3 我试过了 var obj fred 2 jill 4 obby jo
  • 如何让 SCons 替换已安装文本文件中的文本

    我希望能够在从 scons 安装一些 python 脚本时替换模板变量 SOFTWARE VERSION scons已经有这样的功能了吗 如果没有 那么挂钩 scons 安装过程的最佳方法是什么 以便我可以在安装过程中执行此操作 你可以使用
  • Eclipse Spring Boot - 在 TransactionAutoConfiguration 和 Neo4jDataAutoConfiguration 之间检测到自动配置周期

    从昨天开始 我在正在开发的 Spring Boot 应用程序 1 5 2 RELEASE 上遇到了一个非常奇怪的错误 在 Eclipse 中运行项目时 我开始遇到以下异常 从命令行运行它时 一切正常 但在开发和调试时我仍然需要从 Eclip
  • 如何构建包含 Mac Catalyst 的 Fat Framework?

    如何构建一个包含构建 Mac Catalyst 应用程序所需架构的胖框架 苹果引入了一个 未记录的 新目标 x86 64 apple ios13 0 macabi 如何构建此目标取决于您的框架构建环境 1 XC框架 如果您的框架是 Xcod
  • 如何创建asyncTask来防止networkOnMainThreadException

    我是 Android 应用程序开发新手 我尝试开发一个android服务器客户端聊天 对于我的第一个项目 这是客户端的代码 当客户按下btnJoin 它将连接到服务器并发送一个字符串 我读过很多例子 其中很多 看起来像这样 我有一个netw
  • 如何使用宏注释向 Scala 案例类添加无参数构造函数?

    我正在尝试回答这个问题 https stackoverflow com questions 13812172 how can i create an instance of a case class with constructor arg
  • 序列化 protobuf 输出的文件扩展名

    似乎很奇怪 我找不到这个问题的答案 但是在文件中存储序列化的 protobuf 输出时应该使用什么文件扩展名 只是 protobuf 我所说的 json 相当于一个 json 文件 我只使用 bin 但据我所知这里没有实际的标准 如果pro
  • “让我保持登录状态”——最好的方法

    我的 Web 应用程序使用会话来存储用户登录后的信息 并在用户在应用程序中从一个页面移动到另一个页面时维护该信息 在这个特定的应用程序中 我存储user id first name and last name的人 我想在登录时提供一个 保持
  • 捕获音频 Phonegap 错误代码 3

    我正在创建一个带有录音的应用程序 我尝试实现此示例代码 http docs phonegap com en 3 3 0 cordova media capture capture md html capture capture 音频 htt
  • 将 nan 替换为 Mean

    我想用 python 文本中每列的平均值替换丢失的数据点 所以 我的想法是 从文本文件中读取每一列 计算每列的平均值 将 nan 替换为每列中的计算平均值 将它们写回新的文本文件 我认为在第 2 步之前我没问题 但第 3 步和第 4 步我遇
  • 如果没有 .pdb 文件,C# 分析将失败

    我正在尝试使用 SonarQube 4 2 的新 C 插件 v3 0 根据插件文档 我需要 pdb 文件来运行包括 FxCop 规则的分析 实际上 如果输出文件夹中不存在所述 pdb 文件 那么在执行 sonar runner 时我会收到一
  • 如何从使用 api 返回的 JSON 对象初始化 google.maps.DirectionsResult?

    我有一个使用 php 脚本中的 Directions api 返回的对象 这是用于请求指示的 PHP 代码 Fetch and decode JSON string into a PHP object json file get conte
  • 在 NorthPolarStereo 投影中使用 Cartopy 绘制圆圈

    我想在 Cartopy 中以 NorthPolarStereo 投影绘制圆圈 并以经纬度单位提供中心和半径 类似和优秀的问题和答案可用于底图here https stackoverflow com questions 49134634 ho
  • 批处理文件获取 CPU 温度(°C)并设置为变量

    我如何获取批处理文件来计算 CPU 的温度并将其作为变量返回 我知道这是可以做到的 因为我已经看到它已经完成了 该解决方案可以使用任何外部工具 我在谷歌上搜索了至少两个小时 但一无所获 任何人都可以帮忙吗 谢谢 您可以使用wmic exe
  • Rails如何实现before_filter?

    我对 Rails 如何实现过滤器感兴趣 例如before filter 但读完源码后 我还是一头雾水 我注意到 Rails 的框架维护了一个filter chain 并在目标方法之前运行过滤器 但是 我不明白一个重要的过程 rails如何捕
  • DocumentDB 从另一个存储过程或其本身调用存储过程

    有没有办法针对 DocumentDB 文档递归调用存储过程 甚至是 UDF 如果可行的话 我们有一个看起来像这样的文档 docID my id owner fred items itemID 1 type item value 3 item
  • 当我单击本机反应按钮时如何显示或切换文本?

    我的代码无法正常工作 我的代码有什么问题吗 我正在尝试创建一个简单的问答应用程序 我分享了下面的代码示例 在下面的示例中 如何默认隐藏答案并在单击按钮时显示答案 感谢您的支持 import React useEffect useState
  • initdb /usr/local/var/[db] 和 createdb [db] 有什么区别

    我开始使用 PostgreSQL 但我对创建数据库的两种方法感到困惑 当我第一次安装它时 说明说我必须创建一个默认数据库initdb usr local var postgres当我查找数据库时 我可以看到我有一个名为 postgres 的
  • 更改AS3中的舞台背景颜色?

    我正在使用纯 AS3 来构建我的项目 我想知道是否有办法通过 AS3 更改舞台背景颜色 感谢您的帮助 像这样 SWF backgroundColor 0xec9900 public class Main extends Sprite
  • 关于 UML 类图的问题吗?

    您好 我有一些关于 UML 类图的问题 我们将不胜感激 1 如何在属性中显示指针 2 什么是多重性 3 构图箭头应该朝什么方向 4 如何放置枚举 根据当前的 UML 标准 2 4 1 和下一个 2 5 几乎仅在更简单的文档中有所不同 指针