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

2023-12-10

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

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

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

The Use Case Diagram I created: enter image description here


数据库是演员吗?

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

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

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

整体图还好吗?

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

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

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

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

  • 主动类与被动类

    在 UML 规范上层结构 2 5 仍为 Beta 第 203 页 中 可以通过将 isActive 设置为 true 来指定类为活动类 即 它的每个实例都是一个活动对象 当 isActive 为 false 时 类是被动的 即 它的每个实例
  • 如何快速理解任何产品的设计和代码流程? [关闭]

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

    我发现 UML 对于记录 OO 系统的各个方面非常有用 特别是用于总体架构的类图和用于说明特定例程的序列图 我想为我的 clojure 应用程序做同样的事情 我目前对模型驱动开发不感兴趣 只是对交流应用程序如何工作感兴趣 UML 是函数式编
  • Python 中 pickle 的常见用例

    我看过pickle http en wikipedia org wiki Pickle 28Python 29文档 但我不明白 pickle 在哪里有用 pickle 的一些常见用例有哪些 我遇到过的一些用途 1 将程序的状态数据保存到磁盘
  • 如何在 UML 活动图上显示异步操作

    我即将绘制 记录一些客户端 服务器连接建立代码 以更好地理解它 有几个操作是在单独的线程中异步完成的 连接线程 数据接收线程等 我应该在单独的图表上显示它们吗 我更愿意将其放在单个图表上以掌握整体视图 但不知道如何在活动图上表示它 我不确定
  • UML 领域建模

    领域模型和数据模型有什么区别 数据模型是一个design仅描述数据及其关系的模型 该模型包含实体 但它们是根据什么来描述的data他们不负责如何处理这些数据或他们的责任是什么 另一方面 领域模型是用于分析问题领域的概念模型 它用具有关系 数
  • UML 聚合可以是双向的吗?

    我正在 Python 中实现一个具有 MVC 模式的应用程序 具有以下类定义 class Controller object def init self model view self model model self view view
  • Azure 数据工作室架构图?

    我最近刚刚下载了带有 SQL Server Express 的 Azure Data Studio 因为我使用的是 Linux 是否有实体关系图表功能 就像 SQL Server Management Studio 具有数据库图表功能一样
  • Eclipse:如何安装 UML2 工具

    我想尝试 UML2 Tools for Eclipse 如图所示本教程 http www vogella de articles UML article html 我目前拥有面向 Java EE 开发人员的 Eclipse 3 6 Heli
  • 最容易实现的 Voronoi 图算法? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 实现 Voronoi 图的简单算法有哪些 我找不到任何专门以伪形式出现的算法 请分享一些 Vorono
  • 关联注入还是依赖注入?

    我正在研究依赖注入模式 我看过很多例子 其中一个典型的例子就是以XxxService XxxRepository为例 但我认为 根据UML概念 类XxxRepository应该是类XxxService的关联 为什么不称这种情况为关联注入 但
  • 如何*真正*编写 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
  • UML三元关联实现java代码[重复]

    这个问题在这里已经有答案了 三元关联是结构关系 指定一个事物的对象连接到其他两个事物的对象 我理解这种关系 但我不知道如何实现显示这三个类之间关联的方法 让我们考虑下面的例子 项目有许多使用特定编程的开发人员 语言促进发展 开发人员使用特定
  • 有没有办法在 Visual Studio 或 MATLAB 中“映射”程序执行顺序?

    我所说的 地图 是指我有一个 主 函数 它调用内部的许多其他程序 我希望能够看到哪个文件首先运行 第二个 第三个等等 基本上 我希望能够请参阅这个大型 OOP 设计程序 创建者没有为其制作 UML 类图 中的依赖项列表和顺序 以帮助破译代码
  • 社交登录重复帐户冲突

    我正在制作一个新应用程序 除了常规电子邮件 密码注册之外 还需要多个社交注册 但是有一种特殊情况可能会导致数据完整性问题 例子 用户在 Facebook 上注册 但没有收到任何电子邮件回复 我在数据库中创建一个用户 将电子邮件和密码设置为
  • UML类图:抽象方法和属性是这样写的吗?

    当我第一次为一个小型 C 项目创建 uml 类图时 我在属性方面遇到了一些麻烦 最后我只是将属性添加为变量 lt
  • UML 中的 IsRoot、IsAbstract 和 IsLeaf 何时使用?

    我遇到了以下描述IsRoot IsAbstract IsLeaf但不明白你什么时候会使用它们 摘自http www2 sys con com itsg virtualcd dotnet archives 0108 clark index h
  • [GoF]-ConcreteSubject 可以覆盖通知方法吗?

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

    哪种 UML 图最能显示我们的 IT 系统和其他外部 IT 系统之间的依赖关系 例如我想在图表上显示 系统A从系统B获取数据 系统B可以调用系统A的一些功能 我想知道组件图和序列图之间的关系 你怎么认为 你的问题不是很具体 因为所有 UML

随机推荐

  • 如何使用 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