当一切都自动化时,人们到底如何绘制用例图?这是我收到的请求的示例:
“进行修改,将游戏服务器重置为特定 map 或在2小时没有玩家时切换游戏类型”
现在基本上没有古典意义上的用户了。一旦将相关修改添加到服务器,就会自动生效。提前考虑一下,会有一个计时器,它会定期轮询玩家数量,然后在该数字为零时开始倒计时。然后计时器将调用一个方法来触发更改。
在此描述中您可以看到哪些 Actor ?
最佳答案
我可以建议,这种情况下的参与者应该与实现无关,而不是“计时器”,类似于“服务器监视器”。在分离 Actor 的实例和 Actor 本身(或角色和扮演该角色的人/什么)方面存在一个关键的区别。
即“服务器管理员”的角色可以通过多种不同的方式实例化:
- 计时器
- 柜台
- 服务器管理员员工
您应该将参与者视为履行特定的“角色”,以及封装逻辑功能组的角色。这样您的最终产品就不会妨碍您的要求,并且您可以更轻松地回答问题(特别是在寻求后续改进时):
- 我可以自动化执行此操作吗?
- 是否有更便宜/更快的方式来履行这一职责?
- 此用例是否特定于此角色?
- 此角色还有其他用例吗?
只是想强调将参与者扮演的角色(即服务器管理员)与实例化它的应用程序/人/机器分开的好处和重要性。
关于uml - 为自动化系统制作用例图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4987883/