阅读下列说明和图。 [说明] Pay&Drive系统(开多少付多少)能够根据驾驶里程自动计算应付的费用。 系统中存储了特定区域的道路交通网的信息。道路交通网由若干个路段(RoadSegment)构成,每个路段由两个地理坐标点(Node)标

admin2012-03-21  33

问题 阅读下列说明和图。
   [说明]
   Pay&Drive系统(开多少付多少)能够根据驾驶里程自动计算应付的费用。
   系统中存储了特定区域的道路交通网的信息。道路交通网由若干个路段(RoadSegment)构成,每个路段由两个地理坐标点(Node)标定,其里程数(Distance)是已知的。在某些地理坐标点上安装了访问控制(Access Control)设备,可以自动扫描行驶卡(Card)。行程(Trajectory)由一组连续的路段构成。行程的起点(Entry)和终点(Exit)都装有访问控制设备。
   系统提供了3种行驶卡。常规卡(Regular Card)有效期(Valid Period)为一年,可以在整个道路交通网内使用。季卡(Season Card)有效期为三个月,可以在整个道路交通网内使用。单次卡(Minitrip Card)在指定的行程内使用,且只能使用一次。其中,季卡和单次卡都是预付卡(Prepaid Card),需要客户(Customer)预存一定的费用。
   系统的主要功能有:客户注册、申请行驶卡、使用行驶卡行驶等。
   使用常规卡行驶,在进入行程起点时,系统记录行程起点、进入时间(Date Of Entry)等信息。在到达行程终点时,系统根据行驶的里程数和所持卡的里程单价(Unit Price)计算应付费用,并打印费用单(Invoice)。
   季卡的使用流程与常规卡类似,但是不需要打印费用单,系统自动从卡中扣除应付费用。
   单次卡的使用流程与季卡类似,但还需要在行程的起点和终点上检查行驶路线是否符合该卡所规定的行驶路线。
   现采用面向对象方法开发该系统,使用UML进行建模。构建出的用例图和类图分别如图3-1和图3-2所示。

根据说明中的描述,给出图3-1中U1和U2所对应的用例,以及(1)所对应的关系。

选项

答案U1:使用常规卡行驶 U2:使用单次卡行驶 (1):extend

解析 本题属于经典的考题,主要考查面向对象分析方法以及UML的用例图和类图的相关知识。
   本问题要求将图3-1所给出的用例图补充完整。用例图的构成要素有:参与者、用例以及用例之间的关系。图中缺少了两个用例,以及一个用例关系。解答此题时,首先应从说明中找到所有的用例。
   用例表示系统的一个单一业务功能。从题目的描述中可以看出,系统的主要功能就是申请行驶卡,以及使用行驶卡行驶。由于行驶卡分为三种,所以在说明中详细描述了三种行驶卡的使用方法。再结合用例图来看,缺少的两个用例与用例“使用季卡行驶”有关联关系,由此可以推断出,需要补充的这两个用例必定与另外两种行驶卡相关,分别为“使用常规卡行驶”和“使用单次卡行驶”。
   下面需要解决的问题是这两个用例与U1和U2的对应关系。这就需要仔细考查一下用例图所给出的用例关系。由图3-1可知,U1和“使用季卡行驶”之间是泛化(generalization)关系。当多个用例共同拥有一种类似的结构和行为时,可以将它们的共性抽象为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。根据说明中的“季卡的使用流程与常规卡类似,但是不需要打印费用单,系统自动从卡中扣除应付费用”可知,U1应该对应着用例“使用常规卡行驶”。由此不难得出U2对应着用例“用单次卡行驶”。
   现在图中只剩下(1)处的用例关系没有确定。用例之间的关系在用例图上只有三种:包含(include)、扩展(extend)和泛化(generalization)。
   包含关系是指当多个用例中存在相同事件流时,可以把这些公共事件流抽象成为公共用例,这个公共用例称为抽象用例,而原始用例称为基础用例。基础用例和抽象用例之间是包含关系。
   如果一个用例明显地混合了两种或两种以上的不同场景,则可以将这个用例分为一个基本用例和多个扩展用例。扩展关系用“<<extend>>”表示,箭头指向基本用例。
   包含关系和扩展关系的区别在于,抽象用例中的事件流一定要插入到基本用例中去,并且插入点只有一个,通常抽象用例不能脱离基本用例而独立存在。扩展用例的事件流往往可以抽象为基本用例的备选事件流,在扩展关系中,可以根据一定的条件来决定是否将扩展用例的事件流插入到基本用例的事件流中,并且插入点可以有多个。
   根据以上分析可知,(1)处的用例关系选择“<<extend>>”最为合适。
转载请注明原文地址:https://jikaoti.com/ti/fui7FFFM
0

最新回复(0)