构建这些用例的最佳方法是什么?

2024-01-12

目前,我已经定义了 3 个不同的用例,它们实际上只是业务流程中的 3 个步骤......

假设我有一份人员名单,所有这些人都对获得一个或多个有限资源感兴趣(例如,他们是音乐会的座位)。

最终,我希望自动且公平地将这些人分配到可用席位。我使用几种不同的算法来做到这一点。

我正在记录一个已经存在的系统(回顾性地),所以即使整个过程有点复杂,我也无法改变它。我必须使用的过程如下:

1) 定义一组标准。标准可以是人的属性,也可以是事件的属性。

例如,其中任何一个都可能是一个“集合” - 参加罗德·斯图尔特音乐会的女性 - 所有人都来观看麦当娜演唱会 - 所有摇滚音乐会的“金”人和“银”人

2) 通过执行以下操作来定义“分配作业”:为其命名,选择一种算法,然后选择一个“集合”(从所有先前定义的集合中)。

3) 启动您在步骤 2 中定义的分配作业。它在后台运行,您可以稍后查看结果。

现在,步骤 1、2 和 3 中的任何一个都可以在计算机上的单个会话中完成。或者,您可以执行#1,保存它,离开,然后稍后再回来执行#2 并保存它。然后第二天你可以做第 3 项。显然,第 1、2 和 3 项之间存在依赖性,但它们不必立即一个接一个地完成。 #1 和#2 本身并没有任何商业价值,它们只是坐在那里,直到有人出现并执行#3。

从用例的角度来看,我最初将 1 和 2 作为“包含”用例,但现在我认为这是错误的,因为我认为每次运行用例时都应该包含“包含”。并且用例应该始终限制在单个会话中。

现在我在想:

1 和 2 是否“扩展”3?

或者,因为在执行 #3 之前,1 和 2 并没有真正实现任何目标...我是否将它们全部写为单个用例,使所有 3 个步骤都是可选的?

或者,它们只是 3 个不同的用例吗? #2 上有一个先决条件,即“集合”存在,而#3 上有一个“作业”存在?


将它们编写为单独的用例。只有明显增加价值的用例才对其参与者有用。我想说,所有指定的 UC 都增加了这样的价值并且是独立的。但是,在不知道您的域名的情况下,我无法确定。也许他们组成一个统一大学。这个需要详细查看。

扩展/包含在 UML 中是糟糕的设计(意味着 OMG 在这里做得不好)。尝试使用 E/I 几乎总是尝试使用函数分解的标志。但用例是完全相反的:功能的综合。

如有必要,请使用前置条件和后置条件来控制一个用例是否只能在另一个用例之后执行。

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

构建这些用例的最佳方法是什么? 的相关文章

  • graphviz:记录带有粗体标题的节点

    我正在尝试使用 graphviz 来做一些类似于 UML 类图的事情 我想知道是否有一种方法可以使 register 样式的节点的第一个字段以粗体显示 以使其与其他字段不同 我的节点如下所示 digraph i node label
  • 在线求职门户系统用例图

    我想要一个在线求职门户系统的正确用例图 这是我的尝试 我有些疑惑 我看不出在哪里制作 登录 用例 这是该系统的一个重要用例 该用例图没有显示简单访问者和注册访问者之间的区别 前者可以查看职位空缺 查看建议 而无需拥有帐户 后者可以查看职位空
  • “包含”、“扩展”和“使用”之间有什么区别?

    在用例图中 两者有什么区别 lt
  • 如何在 UML 属性中指定枚举文字作为默认值?

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

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

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

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

    我正在复习面向对象编程方面的知识 在类之间的关系主题下 我遇到了一些对我来说有点模糊的关系 我知道依赖项 uses a 和继承 is a 但我对聚合 组合 关联和直接关联有点不熟悉 另外 其中哪一个是 has a 关系 有些可以与关联互换使
  • staruml 抽象类?

    有谁知道如何使用 StarUML 创建抽象类 我在文档中找不到任何提及 是否有某种反映抽象类的更一般的概念 从工具箱中选择类并将其添加到画布中 然后转到属性选择 isAbstract 复选框 然后类名显示为斜体
  • 如何在 UML 类图中表示“事件”?

    这是我的代码片段 public class Notation INotifyPropertyChanged public event PropertyChangedEventHandler PropertyChanged private N
  • UML 设计类图:具有另一个类作为属性的类?

    我很难弄清楚如何将特定场景建模为 UML 设计类图 假设我有以下情况 我有一个名为 CPoint 的类 它有两个属性 x 和 y R2 平面中的坐标 另外 我有一个名为 CLine 的类 它应该有两个 CPoint 作为属性 这对代码来说非
  • 如何用序列图来展示一个类与另一个类之间的关系,以该类的实例的实例作为输入?

    我将使用之前的相同示例question https stackoverflow com questions 66934927 how to represent the relationship between an instance of
  • Dia:图表编辑器:盒子对象的限制?

    如标题所示 我尝试为 hte 3d 图形引擎 ogre3d 开发尽可能少的方案 问题是大图方案 Ogre Root 类需要相当多的从它下降的箭头 用关系箭头连接框的模型是它们只能通过边界周围的特定点 称为 关节 或其他东西 进入 退出 但现
  • 如何在 UML 序列图中显示实例化?

    如何显示 Web 服务器实例化视图并重新获得流的控制权 也许我没有使用正确的图表类型 非常感谢 Ruben 的答案中的图表是正确的 但缺少一般的 UML 答案 当 创建 线 在本例中为虚线 连接到所创建生命线的框 标签 顶部时 它会创建另一
  • 如何使用 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
  • PlantUML 活动图 返回

    我正在使用 PlantUML 创建活动图 我想要从里面出来的箭头Modify Details回到OP2而不是钻石 我有这个图 startuml Swimlane1 start OP1 Swimlane2 OP2 if Form Valid
  • 如何在 Windows 上使用 Pyreverse

    我想使用pyreverse 创建图表类 我下载它 当我使用这个命令时 pyreverse bat c PyreverseCommand a1 s1 f ALL o png test py 我收到错误 名称 点 无法识别 什么是 点 如何创建
  • 类图中的组合和依赖之间的区别?

    我知道 有人就这个案例问过同样的问题 但我仍然不明白 我需要一个具体的答案 谢谢你 D 既然冈努斯没有正确解释构图的含义 我就只好这么做了 正如 Gangnus 所解释的 聚合是一种特殊形式协会具有预期含义部分 整体关系 但没有精确的语义
  • 如何表示类的实例与将其作为输入的类之间的关系?

    我有一堂课叫House 这个类的实例是house class House def init self height length self height height self length length def housePlan hou

随机推荐

  • NSString 发布

    我有这段字符串代码 在尝试释放内存时遇到问题 我知道只有那些释放它的人才会初始化 而不是自动释放 但我在字符串 end 和 nSum 释放方面遇到了问题 NSString urlBase NSString alloc initWithFor
  • 多处理炸弹

    我正在研究以下示例道格赫尔曼 http www doughellmann com PyMOTW multiprocessing basics html多处理教程 import multiprocessing def worker worke
  • 应用程序未指定API级别

    我刚刚开始使用 Eclipse 开发 Android 应用程序 我已经安装了 Eclipse 3 5 2 和 Java 5 AVD 是 Android 2 1 API 7 我最初的 Hello Android 程序运行良好 但无法再次运行
  • 使用 Gradle (Android Studio) 构建极长的版本

    现在 对于非常简单的更改 我们的构建时间为 2 分 30 秒 这 与 ANT 相比 速度慢得惊人 并且正在降低整个团队的生产力 我正在使用 Android Studio 并使用 使用本地 gradle 发行版 我尝试为 gradle 提供更
  • 脚本如何区分 Docker Toolbox 和 Docker for Windows?

    在我目前的团队中 我们仍在从Docker工具箱 to 适用于 Windows 的 Docker 桌面 我们的许多脚本仍然假设您在 VirtualBox 上运行 Docker Toolbox 例如如何挂载驱动器 斜杠或驱动器名称如何用于这些挂
  • Heroku ssl:具有 GlobalSign ExtendedSSL 的端点

    我已注册 GlobalSign ExtendedSSL 我只是不知道如何将其添加到ssl endpoint addon 当我注册 ExtendedSSL 时 我必须生成 CSR 证书 其中包含以下文件 私钥 key www domain c
  • 是否有一致的方式链接到 Google“我手气不错”结果? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在我的应用程序中 我试图创建一种简单的方法来根据 NFL 球员的名字链接到 NFL com 上的 NFL 球员的个人资料 由于 NFL c
  • 为 Git 克隆设置密码?

    我想为我的存储库设置一个密码 以便在从我的存储库克隆时询问密码 要限制对存储库克隆的访问 您需要使用 ssh 协议 并仅向您想要访问的用户提供 ssh 访问权限 您可能应该做的是查找各种 git 工作流程 问题和答案 它们描述了各个团队成员
  • C# Linq to SQL:如何表达“CONVERT([...] AS INT)”?

    在 MSSQL 中 您可以将字符串转换为整数 如下所示 CONVERT INT table column 是否有 Linq to SQL 可以将其转换为任何 C 表达式 在 C 中 您通常可以使用以下方法执行相同操作int Parse 但不
  • 更改 pandas 中的列类型

    我从列表列表创建了一个 DataFrame table a 1 2 4 2 b 70 0 03 x 5 0 df pd DataFrame table 如何将列转换为特定类型 在本例中 我想将第 2 列和第 3 列转换为浮点数 有没有办法在
  • forkjoin后无法订阅

    我想在角度循环内执行一些 firebase 操作 当我向 firebase 发送 HTTP 请求时 它返回一个可观察值数组 因此使用 forkjoin 我将此可观察值数组转换为单个可观察值 现在的问题是 当我订阅这些新的可观察量时 我没有得
  • 在 HijrahChronology 中配置自定义变体以进行日期校正 jdk 8

    我在 javafx JDK 8 中使用了 DatePicker 并使用了 HijrahChronology INSTANCE 这样日期选择器就显示了日历 一切都工作得很好 但我在公历和回历之间有 1 天的差异 回历推迟 1 天 我正在尝试按
  • 从 NFC mifare 标签读取 UID iOS 13

    我正在尝试读取 mifare 标签的 UID 查看示例 我经常看到以下方法 func tagReaderSession session NFCTagReaderSession didDetect tags NFCTag if case le
  • 在 WPF 中将画布转换为 writeablebitmap 的最快方法?

    我目前有一个 writeablebitmap 图像和带有绘图的画布 我想将图像发送给对等方 为了减少带宽 我想将 canvas 转换为 writeablebitmap 这样我就可以将这两个图像 blit 到一个新的 writeablebit
  • 我可以将步骤定义放在不是“步骤”的文件夹中吗?

    我正在尝试使用 Behave on Python 进行工作 我想知道是否有办法将我的 py 文件放在其他地方 而不是被迫将它们全部放在 steps 文件夹中 我当前的结构如下所示 tests features steps all code
  • 什么是最小正常运行时间

    我在用forever https github com nodejitsu forever和我的项目 这些选项有什么作用 minUptime spinSleepTime 我从 GitHub 页面不明白 永远的文档简要解释每一项 https
  • Grails,如何通过外键查找记录

    我有两个域 它们是一对多关系的一部分 我想知道如何查询孩 子的父母FK 下面是父 子的伪代码 Parent class AlumProfile String firstName String lastName static hasMany
  • .NET Core 中的 WCF 参考

    如何将 WCF 引用到我的 NET Core 客户端 我下载并安装 WCF 服务预览 插件 但是当我尝试添加引用时出现错误 错误 找不到与 Net Core 应用程序兼容的端点 工具中出现错误 无法生成服务参考 当我在浏览器中尝试服务时 工
  • 是否存在等于 C++11 中的 asm("" ::: "memory") 的编译器障碍?

    我的测试代码如下 我发现只有memory order seq cst禁止编译器重新排序 include
  • 构建这些用例的最佳方法是什么?

    目前 我已经定义了 3 个不同的用例 它们实际上只是业务流程中的 3 个步骤 假设我有一份人员名单 所有这些人都对获得一个或多个有限资源感兴趣 例如 他们是音乐会的座位 最终 我希望自动且公平地将这些人分配到可用席位 我使用几种不同的算法来