【问题标题】:Activity Diagram Timed Event活动图定时事件
【发布时间】:2021-04-28 01:32:06
【问题描述】:

我正在尝试对以下内容进行建模:填写提交表单时,系统每 5 分钟自动保存一次用户进度。

这是我尝试过的,但我认为它不正确。

在我的情况下,仅在“填写提交”活动完成后才询问条件。另外我不想指出,用户正在再次开始“填写提交”活动。

【问题讨论】:

    标签: uml activity-diagram


    【解决方案1】:

    您将使用由虚线框表示的可中断区域:

    定时器中断独立出现并中断当前操作。执行自动保存并返回填写表单。恢复填写表单需要一些思考,因为通常你有一些在继续的情况下不能执行的入口代码。这可能有点棘手,因为您可能需要一个互斥锁。

    UML 2.5 在章节中有详细的描述。 15.6.3.2 可中断活动区域,第 405 页。


    简单介绍一下您的方法。仅当表单关闭时才执行保存。因此,如果花费的时间超过 5 分钟,您最终会再次出现在您的表单中,这可能是不希望的:-)

    【讨论】:

    • 我确实看到了您的方法背后的逻辑,但是中断是否仍会结束填写表单活动?您恢复它(就像我在我的方法中所做的那样),但对我来说,填写表单活动似乎是从新开始的。编辑:我不需要编程,我只需要建模。
    • 是和不是。保存完成后,动作被中断并从头开始。所以如果你有一些初始化必须在第一次进入时只做一次。这可以通过互斥锁来实现。这是(如前所述)棘手的部分。通常你可以通过注释来解决这种情况,因为编码人员无论如何都必须考虑如何解决这个问题。
    • 但是如果这个动作被打断了,那不就意味着用户已经不在他填写表单的视图中了吗?
    • 关于视图什么也没说。而且不合理。当您的计算机进行计算时,您仍然可以看到显示器上的内容,不是吗?只是他在自动保存时无法控制 I/O。这不应该花费很长时间(广泛建模的另一个注释或位置)。否则:白人盯着沙滩看。
    • 我认为我的问题是我只使用中断来启动新活动,在该活动中向用户呈现新视图(将模型应用于网站时),但您的论点确实对我有意义 :) 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多