首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在我的用例中添加'system‘作为参与者吗?

我可以在我的用例中添加'system‘作为参与者吗?
EN

Stack Overflow用户
提问于 2021-11-17 14:27:46
回答 2查看 23关注 0票数 0

我正在为我的毕业设计开发一个考勤系统应用。简而言之,基本上讲师每天使用API为每个班级生成二维码,学生扫描二维码并在数据库中设置他们的出勤状态。

然而,由于API生成代码,我想知道:我是否应该添加一个名为'system‘的辅助角色来表示API?

另外,对于登录,系统应该有一个基本的2FA机制,我想知道我在这里所做的是否正确?

EN

回答 2

Stack Overflow用户

发布于 2021-11-19 10:06:58

是否应该添加一个名为'system‘的辅助角色来表示应用编程接口?

按照您的建模方式,您暗示还有另一个名为"system“的软件,它为您设计的软件提供二维码。

这可能不是真的,因此删除参与者"system“。

右侧的所有用例都是功能分解。别干那事。这不是用例图的目的。

左边的用例很好(除了"login",请看我的单独评论)

票数 0
EN

Stack Overflow用户

发布于 2022-02-05 00:40:15

以下元素是成功的用例建模的关键,并且可以直接从UML2.5.1规范(p639和640)派生:

  • 用例指定主体(系统)提供的一组行为,具有对参与者有价值的可观察结果,并且无需引用系统的内部结构
  • 参与者位于主体(系统)之外。

如果QR码是由同一系统生成的,则不能有System执行元:系统不在其自身之外。二维码生成将只是所提供的行为集的一部分。

如果QR码是由另一个系统生成的,则取决于:

  • 如果另一个系统只是系统内部结构所需的辅助系统,但与用户无关,则不应将其显示为参与者;

  • 如果另一个系统是一个独立的系统,特别是如果1)它可以由人工操作员替换;或者2)它的存在与业务干系人相关(例如,天气系统、股票报价系统等);或者3)你的系统帮助另一个系统实现它的目标;那么你可以将它显示为一个参与者(甚至应该在案例2中)。

更普遍的是,围绕登录用例存在一些争议(对相反观点的详细解释:here)。我建议不要使用它。但是,如果您删除Verify (这是系统执行的操作,而不是对用户有价值的事件),请删除Bad password (这是一个将触发一些操作的事件,但肯定不是用户所重视的事件)。最后,如果是密码登录,SSO登录或MFA登录都无关紧要:所有的tehrse都只是实现目标的手段。让这些详细信息来描述登录场景。

还要记住,用例之间没有顺序(这是为什么使用登录用例不是一个好主意的另一个原因)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70006183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档