UML用例:如何建模“批处理”功能?

3

一个批处理定时任务(例如夜间处理)应该被建模为用例吗?它是系统应该执行的操作,但没有一个“使用”该功能的角色,因为它是预定的。

有什么建议吗? 谢谢!

3个回答

6
我们定义了一个“调度程序”演员来模拟这种情况。调度程序通常具有自己的用例集,包括批处理作业或需要定期运行的可执行文件等。例如,可以编写像“当当前时间在整点时,用例开始运行”的用例,用于每天运行24次的作业。我们尽量不包含太多这些用例,因为很容易陷入实现细节中。直到真正重要的活动需要计时,比如会计部门的月度结算程序,我们才会等待。他们没有提及任何软件细节(比如调度软件的名称),只是说由调度程序演员在特定日期和/或时间触发了该用例。

5

首次尝试:

Time can be actor in your use case.

但正如您所说,它作为主要角色看起来很奇怪。

enter image description here

你可以考虑一个人类替代品。 所以问问自己:

系统自动执行批处理定期过程,但是:何时?如何?... 那么谁会告诉系统何时?如何?执行您的定期过程?是否有一种角色可以配置批处理定期过程?如果有...

第二次尝试:

enter image description here

IBM网站上有一篇好文章Dear Dr. Use Case: Is the Clock an Actor?

您还可以在Is TIME an actor in a use case?上查看类似的问题。


正如您所说,计时器或系统时钟可以是一个参与者,但是如何指定其触发条件呢?我已经阅读了链接http://umlchannel.com/en/uml/item/24-use-case-actor-system-timer,其中提到它也可以为空,而不与任何参与者相关联,但这是否意味着用例不完整呢? - Krishna Oza

1
系统(操作系统)是“执行者”:

http://en.wikipedia.org/wiki/Actor_%28UML%29

在 U.M.L 中,“Actor” 不仅仅是一个人,也可以是一个进程或操作系统,只需添加一个表示其“系统”的构造型即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接