在 UML 类图中,什么是边界类、控制类和实体类?

2023-12-25

我现在使用 NetBeans 作为我选择的 IDE,它有一个用于 UML 建模的插件。在类图中,有一些模型元素称为Boundary Class, Control Class, and Entity Class。然而,我找不到它们的一个好的定义,但我确实找到了这个网站 http://www.developer.com/design/article.php/10925_2206791_2关于 UML 类图。


鲁棒性图写在用例之后、类图之前。它们有助于识别用例步骤的角色。您可以使用它们确保您的用例足够稳健代表您正在构建的系统的使用要求。

它们涉及:

  1. Actors
  2. 用例
  3. Entities
  4. 边界
  5. Controls

鉴于模型-视图-控制器 https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller模式用于用户界面,实体控制边界模式(ECB)用于系统。如果有帮助的话,ECB 的以下方面可以比作 MVC 的抽象版本:

Entities (model)
表示系统数据的对象,通常来自域模型。

边界 (查看/服务协作者)
与系统参与者交互的对象(例如user or 外部服务)。窗口、屏幕和菜单是与用户交互的边界的示例。

Controls (控制器)
介于边界和实体之间的对象。它们充当边界元素和实体元素之间的粘合剂,实现管理各种元素及其交互所需的逻辑。重要的是要理解,您可能决定在设计中将控制器实现为对象以外的东西 - 例如,许多控制器足够简单,可以实现为实体或边界类的方法。

他们的沟通适用四个规则:

  1. Actor 只能与边界对象对话。
  2. 边界对象只能与控制器和参与者通信。
  3. 实体对象只能与控制器通信。
  4. 控制器可以与边界对象和实体对象以及其他控制器对话,但不能与参与者对话

允许通讯:

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

在 UML 类图中,什么是边界类、控制类和实体类? 的相关文章

  • 如何使用用例关系 - uml

    嘿伙计们 我一直在研究 UML 并且正在尝试设计问题的用例图 假设我的应用程序包含以下内容 两个要求 创建团队 创建玩家 这是这笔交易 用户可以创建一个球队 创建球队后可以为该球队创建球员 非必需 但在这个应用程序中有多个用户 一个用户可以
  • 如何在 UML 类图中表示回调

    我有一个界面说 Interface ICallback public void informFunction 我有一堂课说 Class Implementation implements ICallback public Implement
  • 如何在 UML 属性中指定枚举文字作为默认值?

    我目前使用 EMF UML Implementation 进行一些模型转换 在我的模型转换中 我创建了一个具有一些属性的 uml 类 这些属性是我也创建的枚举类型 某些属性应该获得默认值 默认值应该是枚举文字 现在的问题是 如何将枚举文字获
  • 建模/记录功能程序

    我发现 UML 对于记录 OO 系统的各个方面非常有用 特别是用于总体架构的类图和用于说明特定例程的序列图 我想为我的 clojure 应用程序做同样的事情 我目前对模型驱动开发不感兴趣 只是对交流应用程序如何工作感兴趣 UML 是函数式编
  • 如何绘制java uml类图并在另一个类中创建枚举[重复]

    这个问题在这里已经有答案了 假设我有一个类名 A 在这个类中我定义了枚举 Bpublic enum B AA BB CC 现在我想画一个uml来体现这种关系 应该怎么做呢 在类类图中 表示使用 例如
  • 传统的基于代码的工程和模型驱动的工程方法有什么区别?

    我在文献中找到了这段话 但我不明白它的含义 设计实践正在从传统的基于代码的工程转向 在整个开发生命周期中进行严格的分工 模型驱动的工程方法 其中所有人员都参与设计 流程可以对模型有发言权 任何帮助将不胜感激 基于代码的工程意味着大部分工作是
  • 显示除“<>”或“<>”之外的 UML 用例图的依赖关系

    除了 扩展 或 包含 之外 我们如何显示用例之间的简单依赖关系 例如 我们想说用例 1 依赖于由用户 1 完成的用例 2 可以用一个简单的箭头来实现吗 向哪个方向 是的 还有其他依赖项 直接连接到用例的类的完整列表是 UML 2 5 标准的
  • Eclipse:如何安装 UML2 工具

    我想尝试 UML2 Tools for Eclipse 如图所示本教程 http www vogella de articles UML article html 我目前拥有面向 Java EE 开发人员的 Eclipse 3 6 Heli
  • 如何用序列图来展示一个类与另一个类之间的关系,以该类的实例的实例作为输入?

    我将使用之前的相同示例question https stackoverflow com questions 66934927 how to represent the relationship between an instance of
  • Javadoc 插入 UML 图

    有没有办法将图像嵌入到我的 JavaDoc 中 基本上我想在一些文档中包含一些 UML 图来解释我的类的层次结构 Thanks 查看本节 http www oracle com technetwork java javase documen
  • 如何在 UML 序列图中显示实例化?

    如何显示 Web 服务器实例化视图并重新获得流的控制权 也许我没有使用正确的图表类型 非常感谢 Ruben 的答案中的图表是正确的 但缺少一般的 UML 答案 当 创建 线 在本例中为虚线 连接到所创建生命线的框 标签 顶部时 它会创建另一
  • 如何*真正*编写 UML 基数?

    我想一劳永逸地知道如何编写 UML 基数 因为我经常不得不争论它们 所以非常欢迎证明和来源 如果我想解释一下a Mother可以有几个Children but a Child有且仅有一个Mother 我应该写 Mother 1 Child
  • UML状态图中守卫和事件的区别

    我以为我可以区分event and guard 但我遇到了一个与守卫类似的事件 counter gt 4 pin is high switch on event 我将变量计数器从小于 4 的某个值更改为大于 4 的值作为事件 这是否意味着事
  • 在用例建模中分解 CRUD

    我有一个后续问题用例图中的 CRUD https stackoverflow com questions 7772399 crud in a use case diagram 如果我需要分解复杂的用例 例如 管理用户 假设这很复杂 可以将它
  • UML 到 Java 代码生成工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • UML 图 - 在我的应用程序中发送电子邮件被视为外部系统

    我的应用程序有一个联系选项 它将打开带有按摩页面的电子邮件应用程序 并且消息接收者设置为应用程序支持电子邮件 我已附上我的意思的图片 我已将其编写为需求 但不确定如何在系统类图和用例图中说明它 我最初在用例图中所做的是 将我的用户 主要参与
  • 是否可以在 UML 中可视化一堆函数

    我正在改进一个使用类和函数文件 只是包含各种函数的 php 文件 的内容管理系统 例如 我有一堂课叫Admin以及一个功能文件 其功能包括显示管理员概述 创建新管理员 编辑现有管理员 删除管理员 函数文件使用类并执行 mvc 概念的可视化部
  • 聚合多重性 UML

    我和我的同事在某一点上无法达成一致 在 UML 中 当进行聚合时 菱形边重数最大为 1 或者可以是 0 吗 还是取决于某种观点 先感谢您 首先 您需要具体说明您指的是哪个 钻石 作为空钻石聚合填充钻石是作品 如果你的意思是空钻石 那么 Ic
  • 如何设计/规划Web应用程序开发?

    我有兴趣学习如何在多个开发团队场景中设计 规划 Web 应用程序开发 担任 项目经理 主管 的角色 成功的 Web 应用程序开发需要哪些 文档 需要哪些 UML 图以及需要到什么程度 在设计 计划阶段 是否需要根据用例对每个类进行图表化 类
  • UML 中的 IsRoot、IsAbstract 和 IsLeaf 何时使用?

    我遇到了以下描述IsRoot IsAbstract IsLeaf但不明白你什么时候会使用它们 摘自http www2 sys con com itsg virtualcd dotnet archives 0108 clark index h

随机推荐

  • 自定义单选ListView

    我想制作一个自定义列表视图 在一行中具有两个 TextView 和一个单选按钮 在列表项上单击单选按钮状态应为切换 我不能在这里使用简单适配器 我已经问过这个问题了单选ListView自定义Row Layout https stackove
  • Android 工具栏仅在 AppBarLayout 折叠时显示标题和副标题

    我有 AppBarLayout CollapsingToolbarLayout 和工具栏的活动 从代码中设置标题和副标题 最初我希望工具栏隐藏并在应用栏布局折叠时显示 使用我的代码 它可以工作 工具栏最初隐藏 但它始终显示工具栏标题和副标题
  • 合并 MongoDB 聚合中的数组字段

    使用 MongoDB 聚合框架时是否可以合并数组字段 这是我试图解决的一个摘要问题 用于聚合的示例输入文档 Category 1 Messages Msg1 Msg2 Value 1 Category 1 Messages Value 10
  • 使用 UNC 路径的 Windows 8 StorageFile.GetFileFromPathAsync

    有没有人曾经设法使用 Windows 8 应用程序将文件从 unc 目录复制到本地目录 根据这里的官方文档 http msdn microsoft com en us library windows apps hh967755 aspx 可
  • 如何在 C# 中解密由 PHP 中的 mcrypt 加密的加密 MCRYPT_RIJNDAEL_256 值?

    我正在尝试从 Linux 端管理的数据库表中读取 Base64 编码的值 在那里面 表中有一个名为first name 的列 在 Linux 端 我可以通过在 PHP 中使用以下命令轻松解密 data mcrypt decrypt MCRY
  • C++11 - 编译时多态解决方案

    假设我正在编写一个跨平台库 我必须以不同平台有不同行为的方式组织代码 并且这种行为 或定义 是在编译时根据我的库所在的平台选择的正在编译中 在 C 中执行此操作的 通常 方法是用大量的内容污染代码 ifdef当编写方法或类时 方法的问题在于
  • UTF16 十六进制转文本

    我有 UTF 16 十六进制表示形式 例如 0633064406270645 它是阿拉伯语中的 S 我想将其转换为其等效文本 在 PostgreSQL 中有直接的方法可以做到这一点吗 我可以像下面这样转换 UTF 代码点 不幸的是 似乎不支
  • F# 类型提供程序构建非常非常慢

    我正在使用类型提供程序 特别是 sql 实体框架类型提供程序 我正在针对一个包含大量对象的数据库编写测试 并且它是远程的 因此连接有点慢 每次我构建项目都会花费很多时间 需要几分钟才能完成构建 我缺少什么为什么编译器不缓存类型信息 附 使用
  • lxml.etree、element.text 不返回元素的整个文本

    我通过 xpath 废弃了一些 html 然后将其转换为 etree 与此类似的东西 td text1 a link a text2 td 但是当我调用 element text 时 我只得到 text1 它必须在那里 当我在 FireBu
  • laravel 从模型生成数据库

    我正在使用 Laravel 的现有项目 并且该现有项目已经有模型 这里是一个示例
  • DVTCoreSimulatorAdditionsErrorDomain Xcode 10GM

    当我将Xcode更新到Version 10 GM时 构建成功 但模拟器无法工作 有错误 操作无法完成 DVTCoreSimulatorAdditionsErrorDomain 错误 0 run xcrun simctl erase all在
  • 如何在mysql中为不同的字符长度添加前导零?

    您好 我对不同的表有一个查询 并且所有表都有不同的长度 这需要前导零ID 是否可以使用一个查询向任何表添加前导零 假设第一个查询是insert to tbl1 field1 CHAR 3 001 那么下一个查询是insert to tbl2
  • 在 Python 中读取和切片二进制数据文件的最快方法

    我有一个处理脚本 旨在提取 uint16 类型的二进制数据文件 并一次以 6400 块为单位进行各种处理 该代码最初是用 Matlab 编写的 但由于分析代码是用 Python 编写的 因此我们希望通过在 Python 中完成所有操作来简化
  • 在 Python 中将可变长度字符串拆分为变量的最佳方法是什么?

    假设我有一个由可变长度的逗号分隔的整数字符串 分割字符串并将整数存储到变量中的最佳方法是什么 目前 我有以下内容 input sys argv 1 mylist int x for x in input split if len mylis
  • 如何在应用程序设置中存储 int[] 数组

    我正在使用 C Express 2008 创建一个简单的 Windows 窗体应用程序 我是一位经验丰富的 C 开发人员 但我对 C 和 NET 几乎是全新的 我目前正在使用设置设计器和代码存储一些简单的应用程序设置 如下所示 Store
  • Django-Tastypie:如何访问 Bundle 中的 (Http)request 对象?

    我需要访问资源脱水中的 HttpRequest 对象 方法 在文档中 它表明bundle request是一个有效的属性 它是 在 resources html 页面中 当我尝试将其添加到我的代码中时 我得到一个 错误声称 Bundle 对
  • 如何使用 useReducer([state,dispatch]) 和 useContext 避免无用的重新渲染?

    当使用多个 useReducers 时 每个组件都会使用部分状态重新渲染 import React useContext from react import Store from store import setName from acti
  • 在 Swift 中获取 UIBarButtonItem 的框架?

    我怎样才能快速获得 rightbarbuttonItem 的框架 我找到了这个 UIBarButtonItem 如何找到它的框架 https stackoverflow com questions 14318368 uibarbuttoni
  • 使用 tlmgr 搜索所有关键字

    我想知道如何查找所有 TeX Live 关键字 我正在使用 Windows 10 和 TeX Live 2019 我尝试过这个命令tlmgr search list keyword但我没有收到 except 结果 这种语法不再可能了 看着h
  • 在 UML 类图中,什么是边界类、控制类和实体类?

    我现在使用 NetBeans 作为我选择的 IDE 它有一个用于 UML 建模的插件 在类图中 有一些模型元素称为Boundary Class Control Class and Entity Class 然而 我找不到它们的一个好的定义