使用用例图将数据库作为参与者,以及整个图的正确性

2023-12-10

如果我需要将数据库识别为参与者,我会陷入困境并感到困惑,因为数据库是在场景中给出的。

我首先尝试将其作为演员,因为根据场景,所需的数据来自数据库。我还尝试为整个场景创建一个用例,但不确定是否正确。

这是场景的链接:https://justpaste.it/7tljo

The Use Case Diagram I created: enter image description here


数据库是演员吗?

原则上数据库不应该成为用例中的参与者。原因有两个:

  1. 数据库通常是用于实现系统的组件,因此它是系统内部的一部分(即使它是从第三方购买并安装在单独的服务器上)。但参与者必须是系统外部的。
  2. 参与者可以代表与系统交互的单独系统。但是,由于它们在案例中发挥作用,因此预计会有一定程度的自治:系统参与者要么像人类参与者一样支持用例,要么使用系统来实现自己的目标。

更一般地说,关于候选系统参与者,可以问自己一些有用的问题:企业需要知道吗?用户或业务利益相关者对此感兴趣吗?如果您的系统不存在,系统参与者是一个有用的系统吗?我们可以想象与人类用户而不是系统参与者相同的用例吗?

整体图还好吗?

从语法上看,该图看起来没问题。但它有条不紊地将特性/功能分解为更小的部分。这称为功能分解:虽然 UML 没有禁止它,但它会导致复杂且不可读的图表。这就是为什么用例社区建议不要这样做,而是更愿意根据用户目标调整用例。

提示:如果您在设计用例(例如审查合同、批准合同)时开始考虑工作流程、操作顺序或用户界面组件,那么您可能应该考虑使用活动图。

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

使用用例图将数据库作为参与者,以及整个图的正确性 的相关文章

  • 显示除“<>”或“<>”之外的 UML 用例图的依赖关系

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

    我看过pickle http en wikipedia org wiki Pickle 28Python 29文档 但我不明白 pickle 在哪里有用 pickle 的一些常见用例有哪些 我遇到过的一些用途 1 将程序的状态数据保存到磁盘
  • 如何在 UML 中指定“一次一个”?

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

    我正在尝试使用 MARTE GQAM 构造型来构造模型的某些元素 但在为其某些属性赋值时遇到麻烦 例如 我将两条生命线之间的消息定型为 我想为其 hostDemand 属性分配一个值 该属性应为 NFP Duration 实例 我看不到如何
  • 关联注入还是依赖注入?

    我正在研究依赖注入模式 我看过很多例子 其中一个典型的例子就是以XxxService XxxRepository为例 但我认为 根据UML概念 类XxxRepository应该是类XxxService的关联 为什么不称这种情况为关联注入 但
  • 如何使用 js/uml 对 JavaScript 文件进行逆向工程?

    Goal 我的目标是从我的 JavaScript 项目 由多个 js 文件组成 中获取 UML 模型并将其存储为 XMI 我已经走了多远 我在网上搜索了一下 发现js uml是第一个去的地方 我已经设法让 js uml 插件与 Eclips
  • Android:从 Android Java 源代码创建 UML [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以从我的 Java Android 源代码自动创建 Uml 的程序 我测试过ArgoU
  • UML状态图中守卫和事件的区别

    我以为我可以区分event and guard 但我遇到了一个与守卫类似的事件 counter gt 4 pin is high switch on event 我将变量计数器从小于 4 的某个值更改为大于 4 的值作为事件 这是否意味着事
  • UML 到 Java 代码生成工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 UML 中正式记录 C# 属性?

    在 UML 类图中记录类的 C 属性的正确方法是什么 我还没有决定这是否是我的答案 但我想我会把它扔在那里以便讨论 这看起来可以接受吗 它是属性类型的实例 其中元数据值放入下面的标记值中 我刚刚弄清楚如何添加自定义立体类型 该箭头只是一个标
  • 如何表示类的实例与将其作为输入的类之间的关系?

    我有一堂课叫House 这个类的实例是house class House def init self height length self height height self length length def housePlan hou
  • Matlab:条形图中缺少标签

    使用 Matlab 2012 和 2013 我发现设置XTickLabel on a bar图表最多只能使用 15 个柱 如果条形较多 则标签会丢失 如下所示 绘制 15 个条形图 N 15 x 1 N labels num2str x d
  • 用例 - 帮助 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我是编写用例的新手 我听说用例是非技术表达 我有以下任务 我必须为其编写用例 我降低了对你理解的要求 ABC公司的注册客户使用凭据登录系统以检索
  • 在序列图中引用给定类的实例

    我必须建模一个系统 其中类的对象Person将调用静态方法getBook Book在课堂上Book这将返回特定书籍的实例 如何引用操作得到的图书实例 到目前为止 我可以想到两种方法 这两种方法我都没有见过 使用过 这就是为什么我正在寻找co
  • [GoF]-ConcreteSubject 可以覆盖通知方法吗?

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

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要以编程方式创建类似于 Visio 的图表作为绘图 大多数情况下 我们将创建与此类似的网络布局图o
  • Visual Basic 6.0 UML 图生成器

    有没有免费的 UML 图生成器可以将 VB6 源代码转换为 UML 图 您是否见过 Deanna 提到的内置 Visual Modelerhere https stackoverflow com questions 16912161 use
  • 使用绝对导入时,pyreverse 不会在 UML 中显示组合关系

    我在生成 UML 时遇到问题pyreverse 特别是当类不属于同一模块时以及使用绝对导入时的组合关系 为了说明问题 我有以下两个模块a py and b py在同一个包中 a py from b import B class A def
  • 类图:我可以分享一个作品吗?

    假设我正在使用 mvc 模式用 C 制作一个简单的游戏 并且有一个世界对象 其生命周期由控制器类管理 这显然像是一个组合 但是如果游戏逻辑类也需要对同一个世界的永久引用 或者这个世界的环境 由世界拥有 需要对其的引用 这些只是常规关联吗 或
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt

随机推荐

  • 如何使用 SwashBuckle 设置或删除默认响应内容类型

    使用 SwashBuckle 时的默认响应内容类型是text plain 我怎样才能将默认值更改为application json甚至删除text plain 终点的响应内容不是由Swashbuckle而是通过 ASP NET Web AP
  • 将 Selenium HTML 源代码存储到 HTMLDocument 类型的元素中

    是否可以将使用 Selenium 使用 Excel VBA 抓取的 HTML 源存储到HTMLDocument元素 这是一个使用的示例Microsoft Internet Controls and Microsoft HTML Object
  • 使用智能指针实现简单的单链表

    你好 我正在尝试使用智能指针实现一个简单的单链表 这是我到目前为止所拥有的 我选择使用 C 的shared ptr 但我读到 unique ptr 更适合这种情况 但是 我真的不知道知道如何迭代列表 即 currentNode curren
  • Laravel 访问公共文件夹之外的图像

    我需要在后端存储登录用户的图像 存储的图像需要受到保护 并且从外部 公众 不可见 我为此选择了一个 存储 文件夹 我在我的控制器中想出了这个 public function update Request request id Show th
  • 如何允许 EF4 CodeFirst 数据库初始化程序在开发中运行,但不在生产中运行

    我正在尝试在线部署我的第一个 alpha 版本的系统 供少数人开始使用 在开发过程中我大量使用DropCreateDatabaseOnModelChange
  • 如何在 Python 中输入转义序列? [复制]

    这个问题在这里已经有答案了 假设你编写了以下程序 a input Input print a 并尝试输入换行符 n Input a nb a nb 输入未被视为 n字符而是作为两个单独的字符 and n 如何将带有转义序列的输入视为转义序列
  • PHP 表单复选框和未定义索引

    提交带有未选中复选框的表单时 出现 未定义索引 错误 除了对每个单独的发布值运行 isset 或 empty 检查之外 还有其他方法吗 我看过这个Question我很难相信这是唯一的解决方案 下面是一些示例代码 编辑 请注意 这些不是表列的
  • 在 R 中将粘贴和替换与引号结合使用

    请注意 我已经看过了this and that但仍然无法解决我的问题 假设一个最小的工作示例 a lt c 1 2 3 b lt c 2 3 4 c lt c 4 5 6 dftest lt data frame a b c foo lt
  • Ajax 表单与 Google 隐形 Recaptcha

    我的代码 function onSubmit token document ready function submit click function var name name val var email email val var pas
  • 如何将第一响应者从一个 UIView“转移”到另一个 UIView?

    我有一个 UIView 子类 CustomView出于这个问题的目的 它有自己的所有处理touches事件 开始 移动 结束 取消 我也有一个UIButton这是一个兄弟姐妹CustomView与它重叠的 例如 我的视图层次结构如下所示 U
  • 如何在 VB.NET 中填充组合框

    我有一个代码来填充我的组合框 但每次我关闭表单时 列表都会加倍 如果我关闭表单并再次打开它后 我的英语 数学 科学数据库中有一个列表 则列表现在显示为英语 数学 科学 英语 数学 科学 这是代码 Call OpenDB cmd Comman
  • 雪花支持ssl吗?

    您好 我希望能够使用 ssl 从 jdbc 驱动程序连接到雪花 我对其他数据库做了很多次 只需在连接 url 中添加 ssl true 有时是其他属性 不幸的是我在雪花文档中没有找到这个选项 我发现雪花支持像 ssl 这样的东西 他们称之为
  • 从模块导出函数时,延迟绑定脚本块不起作用

    我有以下功能 function PipeScript param Parameter ValueFromPipeline Object InputObject Object ScriptBlock process value Invoke
  • Rails 3 中的猴子修补

    Rails 3 中 Monkey Patch 的首选方式是什么 我只想向 String 类添加一个方法 我更关注将文件放置在哪里 初始化程序目录是收集所有这些小碎片的好地方 由于我倾向于对核心扩展有点过度 所以我喜欢在那里创建一个名为 扩展
  • 使用注册表检测安装的MS Office是32位还是64位

    我想根据excel版本 32位或64位 安装vsto addin 我计划捆绑 32 位和 64 位 msis 并通过确定 Excel 版本来安装一个 我可以找到这个链接来使用注册表检测2010 Office是32位还是64位 通过注册表检测
  • pytest 2.3 在类中添加拆卸

    我正在研究新版本的 pytest 2 3 并对新功能感到非常兴奋 您可以在其中使用 可以通过注册一个或多个来精确控制拆卸 一旦执行了一些操作 拆卸功能 需要撤消 消除了单独 拆卸 的需要 装饰器 from here 作为函数使用就很清楚了
  • 如何打印树形结构?

    我正在努力提高我们应用程序的性能 我以调用树的形式获得了性能信息 具有以下节点类 public class Node public string Name method name public decimal Time time spent
  • Shiny:将 styleColorBar 与来自两个数据帧的数据一起使用

    我正在尝试在 Shiny 中显示一个表格 其中数字将从一个 data frame 或 data table 显示 但条形的大小将从另一个 data frame 获取 例如 将显示绝对值 但来自另一个表 相同排列 的 log p values
  • 如何在android中以编程方式取消闹钟? [复制]

    这个问题在这里已经有答案了 我使用这段代码创建了一个警报并且它有效 请建议如何取消该警报 Intent alarmIntent new Intent AlarmClock ACTION SET ALARM alarmIntent setFl
  • 使用用例图将数据库作为参与者,以及整个图的正确性

    如果我需要将数据库识别为参与者 我会陷入困境并感到困惑 因为数据库是在场景中给出的 我首先尝试将其作为演员 因为根据场景 所需的数据来自数据库 我还尝试为整个场景创建一个用例 但不确定是否正确 这是场景的链接 https justpaste