现在有这样的需求:需要定时自动清理数据库中的过时数据,同时用户也可以随时通过点击界面按钮来清理数据库中的过时数据。 问题是:在这个需求中,use case 是清理数据库过时数据,但是actor是谁呢? 对于用户也可以随时通过点击界面按钮来清理数据库中的过时数据来说,actor是用户,很明确。但是,对于定时自动清理数据库中的过时数据来说,actor是谁呢?似乎不是用户?那么另一个问题是:在这个需求中是否有两个actor共同关联一个use case?书上似乎说一个use case只能有一个actor!! 如果不是,那有如何分析呢? 多谢了
对于一个自动系统而言,数据和“时间”永远都是不变的actor,只不过对于一些例子来说,需要考虑哪一个举出来有意义,比如,上一个例子中,将时间作为actor意义不大,而对于这个例子来说,两者都可做为actor.
可以用计时器作为一个actor,不必拘泥于书本。
用message!
呵呵,多谢了,主要是刚开始,有很多东西都不熟悉。 谢谢你热心的帮助!
另一个actor是时间
http://umlchina.smiling.com/group/posts/view_forum.ecgi?group_id=9986&res_message_id=1154372 http://umlchina.smiling.com/group/posts/view_forum.ecgi?group_id=9986&res_message_id=1154482 http://umlchina.smiling.com/group/posts/view_forum.ecgi?group_id=9986&res_message_id=1154679
此用例图关联到两个actor,一个是用户,另一个是system. 一个用例图完全可以关联到两个actor的.