如何使用UML用例图显示跟踪系统?

问题描述

我正在建立一个盗窃检测系统。 其中一项功能是运行24/7的过程,该过程从安全摄像头系统获取视频,对其进行跟踪并保存有关这些视频的一些数据。 每天一次,系统将检查保存的数据并使用它。

我被要求绘制一个用例图,但我不确定该怎么做。 此过程没有触发器,它只是一直保持运行状态。但它确实与其他外部参与者(相机的系统)进行交互。

有没有办法在用例图上显示它?

解决方法

用例图显示了系统的用途。这里是用例的发明者Ivar Jacobson用简单语言定义的:

用例是使用系统为特定用户实现特定目标的所有方式。所有用例的集合一起为您提供了使用该系统的所有有用方法,并说明了它将提供的价值。

不幸的是,您的叙述看起来不像一个用例:它只是从技术的角度描述了需要做的事情,而不是原因,也不是它对用户或利益相关者的帮助。如果您发现此过程的目标,那么您将获得用例!

您的叙述中提到了两个系统:防盗系统和摄像头系统。如果这是两个独立且自治的系统,则其中一个可能是另一个的参与者:

  • 按照您的解释方式,您的防盗系统似乎是相机系统的参与者。摄像头系统可以提供诸如Perform videosurveillancefind back video records with motion之类的用例。您的系统将是后者的系统参与者,因为查找回视频记录是您系统的目标。

  • 摄像机系统也可以看作是您系统的参与者,有助于实现用例。

话虽如此,如果您想从内部观察系统中的行为,您可能对活动图比用例更感兴趣:查询过程将是在某些条件下执行的操作,并且它生成的信息可能会启动后续操作。

,

解决方案可能是定义一个用例,该用例不链接到参与者,而是关联到状态机,请参见UML规范2.5.1版本的图18.12。状态机的过渡可能会随着时间而变化。

就像您创建一个用例,该用例定义了“主题提供的功能的规范”。

另一种方法是描述对已保存数据进行检查的用法。我猜想已经进行了检查,以检测视频上的某些事件并创建警报,邮件或由管理员或其他任何人读取的文件。

然后,您可以创建一个与管理员参与者相关联的用例“读取警报邮件”,然后描述邮件的内容,从而指定系统对视频进行的检查。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...