【问题标题】:UML Activity Diagram - how to design?UML活动图——如何设计?
【发布时间】:2013-03-16 07:34:08
【问题描述】:

MAKE RESERVATIONS 是活动,它声明如下:

一位客户就租车事宜联系预订人员。

客户引用所需的开始和结束日期、首选车辆和 取货处。

预订人员查找价格文件并报价。 客户同意价格。

检查车辆可用性以查看是否有合适的车辆可供 在所需的办公室所需的时间。

如果所请求的车辆在指定的取件处可用,则 为客户保留。在登记车辆可用性的条目中进行 预订。

预订人员向客户发出租用编号。 然后在租赁文件中创建租赁协议,包括租赁编号、 租期、车辆类型和取货处。

例外

  1. 取货处没有合适的车辆。客户被提供 替代车辆。
  2. 客户不同意价格并要求提供替代车辆和/或 期间。

我为上面的活动设计了活动图,但我不知道我是否必须将问题放在控制流上的决策节点或上面?在我的情况下,同意价格应该在决策节点上还是在输入节点的控制流箭头上?

此外,如果用例仅指定一个条件,例如“如果有车辆可用,则向客户提供车辆并报价。如果客户接受,则开始租赁。”决策节点是什么样子的?

另外,如果有三个不同的actor,应该有一个泳道来代表这些actor,还是没有一个可以绘制活动图?

上面用例的活动图贴在下面

【问题讨论】:

    标签: uml activity-diagram visual-paradigm


    【解决方案1】:

    不知道是不是一定要把问题放在决策节点或者控制流上面?

    它们像您一样写在流程中。在 UML 中,决策节点 是空的(这与基本流程图不同,后者将条件写入节点中)。来自决策节点的每个流都可以用 guard (即条件)进行注释。在执行决策节点时,任何其guard评估为true的流都可能被选择执行(通常情况下,guard的条件是排他的,只能选择一个guard,但这不是要求)。

    此外,如果用例仅指定一个条件,例如“如果有车辆可用,则向客户提供车辆并报价。如果客户接受,则开始租赁。”决策节点长什么样?

    看起来和你的图一样,但是在决策节点之前应该有一个动作节点用于询问客户端,因为决策节点的唯一目的是在几个可能的流程中进行选择。 在决策节点的执行过程中不执行任何操作。

    另外,如果有三个不同的actor,应该有一个泳道来代表这些actor,还是没有一个可以绘制活动图?

    这取决于您要建模的内容,如果系统的不同部分执行了不同的操作,您可以使用泳道(我最近绘制了an example here),但如果出现以下情况,您可以避免使用泳道对这种分离进行建模并不有趣。通常,参与者会向系统提供输入,但他们不会自己执行操作。

    例如,您的示例根据客户的输入(初始报价和协议)和客户收到的输出(租赁号码)对预订人员(这是您系统的一部分)的行为进行建模。我建议您将其作为一个单独的问题提出,强调第三个演员。

    【讨论】:

    • "检查车辆可用性以查看是否有合适的车辆在所需的时间在所需的办公室可用。如果请求的车辆在指定的取件办公室可用,则为客户保留. 在登记预订的车辆可用性中进行条目。我把它写成一个决策节点,它应该是一个动作,而不是有一个决策节点以某种方式出来吗?除此之外,我可以写是-检查可用性吗?比如,设置决策节点的选项,以及在同一控制流上发送另一个操作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多