MAKE RESERVATIONS是活动,它声明如下:
客户联系预订人员了解汽车租赁事宜。
客户引用所需的开始和结束日期,首选车辆和 皮卡办公室。
预订人员查找价格文件并报出价格。 客户同意价格。
检查车辆可用性以查看是否有合适的车辆可用 所需办公室所需的时间。
如果要求的车辆在指定的皮卡办公室可用,那么它就是 为客户保留。在登记的车辆可用性中输入 保留
预订人员向客户发出租赁号码。 然后在租赁文件中创建租赁协议,包括租赁号码 租赁期,车辆类型和皮卡办公室。
例外
- 皮卡办公室没有合适的车辆。提供客户 替代车辆。
- 客户不同意价格并要求备用车辆和/或 周期。
醇>
我设计了上述活动的活动图,但我不知道是否必须将问题放在控制流的决策节点或以上?在我的情况下,同意价格应该在决策节点上还是在输入节点的控制流箭头上?
除此之外,如果用例仅指定条件,例如“如果车辆可用,则向客户提供车辆并且报价。如果客户接受,则启动租赁。”决策节点如何?
此外,如果有三个不同的演员,是否应该有一个代表演员的泳道,或者可以在没有演员的情况下绘制活动图?
上面用例的活动图张贴在
下面
答案 0 :(得分:1)
我不知道是否必须将问题放在控制流程的决策节点或以上?
他们就像你一样写在流程中。在UML中,决策节点是空的(这与基本流程图不同,其中人们会在节点内写入条件)。来自决策节点的每个流可以用 guard (即条件)注释。当执行决策节点时,可以选择任何流,其防护评估为真(通常,防护的条件是独占的,并且只能选择一个防护,但这不是要求)。
除此之外,如果用例仅指定条件,例如“如果车辆可用,则向客户提供车辆并且报价。如果客户接受,则启动租赁。”决策节点是怎样的?
它看起来如图所示,但应该有一个动作节点用于在决策节点之前询问客户端,因为决策节点的唯一目的是在几个可能的流中进行选择。 执行决策节点时不会执行任何操作。
此外,如果有三个不同的演员,是否应该有一个代表演员的泳道,或者可以在没有演员的情况下绘制活动图?
这取决于您的建模,如果您有系统的不同部分执行的不同操作,您可以使用泳道(我最近绘制的an example here),但您可以避免泳道,如果模拟那种分离没有意义。通常,参与者会为系统提供输入,但他们不会自己执行操作。
例如,您的示例根据客户的输入(初始报价和协议)和客户收到的输出(租赁编号)来模拟预订人员(系统的一部分)的行为。我建议你把这个问题作为一个强调第三个演员的单独问题。