1、软件水平考试(中级)软件设计师下午(应用技术)历年真题试卷汇编 4 及答案解析(总分:54.00,做题时间:90 分钟)一、必答题(总题数:9,分数:54.00)1.必答题(共 4 道大题,每道大题)(分数:6.00)_阅读下列说明和图,回答问题 l 至问题 3,将解答填入答题纸对应栏内。【说明】某城市拟开发一个基于web 的城市黄页,公开发布该城市重要的组织或机构(以 F 统称为客户)的基本信息,方便城市生活。该系统的主要功能描述如下:(1)搜索信息:任何使用 Internet 的网络用户都可以搜索发布在城市黄页中的信息,例如客户的名称、地址、联系电话等。 (2)认证:客户若想在城市黄页上发
2、布信息,需通过系统的认证。认证成功后,该客户成为系统授权用户。(3)更新信息:授权用户登录系统后,可以更改自己在城市黄页中的相关信息,例如变更联系电话等。(4)删除客户:对于拒绝继续在城市黄页上发布信息的客户,有系统管理员删除该客户的相关信息。系统采用面向对象方法进行开发,在开发过程中认定出如表 13 一1 所示的类。系统的用例图和类图分别如图 13 一 1 和图 132 所示。 (分数:6.00)(1).根据说明中的描述,给出图 13 一 l 中 Al 和 A2 处所对应的参与者,UC1 和 UC2 所对应的用例以及(1)处的关系。(分数:2.00)_(2).根据说明中的描述,给出图 132
3、 中 C1C5 所对应的类名(表 131 中给出的类名)和(2)(5)处所对应的多重度。(分数:2.00)_(3).认定类是面向对象分析中非常关键的一个步骤。一般首先从问题域中得到候选类集合,再根据相应的原则从该集合中删除不作为类的,剩余的就是从问题域中认定出来的类。简要说明选择候选类的原则,以及对候选类集合进行删除的原则。(分数:2.00)_阅读以下说明和图,根据要求回答问题 1问题 3。【说明】某航空公司会员积分系统(CFrequentFlyer)的主要功能描述如下:乘客只要办理该航空公司的会员卡,即可成为普卡会员(CBasic)。随着飞行里程数的积累,可以从普卡会员升级到银卡会员(CSi
4、lver)或金卡会员(CGold)。非会员(CNonMember)不能累积里程数。每年年末,系统根据会员在本年度累积的里程数对下一年会员等级进行调整。普卡会员在一年内累积的里程数若满 25,000 英里但不足 50,000 英里,则自动升级为银卡会员;若累积的里程数在 50,000 英里以上,则自动升级为金卡会员。银卡会员在一年内累积的里程数若在 50,000 英里以上,则自动升级为金卡会员。若一年内没有达到对应级别要求的里程数,则自动降低会员等级。金卡会员一年内累积的里程数若不足 25,000 英里,则自动降级为普卡会员;若累积的里程数达到 25,000 英里,但是不足 50,000 英里,
5、则自动降级为银卡会员。银卡会员一年内累积的里程数若不足 25,000 英里,则自动降级为普卡会员。采用面向对象方法对会员积分系统进行分析与设计,得到如图 133 所示的状态图和图 134 所示的类图。(分数:6.00)(1).根据说明中的描述,给出图 133 中 S1S3 处所对应的状态以及 T1T3 处所对应的迁移的名称。(分数:2.00)_(2).根据说明中的描述,给出图 134 中 C1C4 所对应的类名(类名使用说明中给出的英文词汇)。(分数:2.00)_(3).图 134 所示的类图中使用了哪种设计模式?在这种设计模式下,类 CFrequemFlver 必须具有的属性是什么?C1 一
6、 C4 中的 travel 方法应具有什么功能?本题考查面向对象分析中的类图、用例图。用例图描述了一组用例、参与者及他们之间的关系。包括以下几个部分:用例(Case)、参与者(Actor)。会员积分系统状态图就是一种用例图。用例视图中的参与者与系统外部的一个实体以某种方式参与了用例的执行过程;用例是一个叙述型文档,用来描述参与使用系统、完成某个事情时发生的顺序。(分数:2.00)_阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。【说明】某城市的各国家公园周边建造了许多供游客租用的小木屋和营地,为此,该城市设置了一个中心售票处和若干个区域售票处。游客若想租用小木屋或营地,
7、必须前往中心售票处进行预定并用现金支付全额费用,所有的预定操作全部由售票处的工作人员手工完成。现欲开发一信息系统,实现小木屋和营地的预定及管理功能,以取代手工操作。该系统的主要功能描述如下: (1)管理预定申请。游客可以前往任何一个售票处提出预定申请,系统对来自各个售票处的预定申请进行统一管理。 (2)预定。预定操作包含登记游客预定信息、计算租赁费用、付费等步骤。 (3)支付管理。游客付费时可以选择现金和信用卡付款两种方式。使用信用卡支付可以享受 3的折扣,现金支付没有折扣。 (4)游客取消预定。预定成功之后,游客可以在任何时间取消预定,但需支付赔偿金,剩余部分则退还给游客,赔偿金的计算规则是
8、,在预定入住时间之前的 48 小时内取消,支付租赁费用 10的赔偿金;在预定入住时间之后取消,则支付租赁费用 50的赔偿金。 (5)自动取消预定。如果遇到恶劣天气(如暴雨、山洪等),系统会自动取消所有的预定,发布取消预定消息,全额退款。(6)信息查询。售票处工作人员查询小木屋和营地的预定情况和使用情况,以判断是否能够批准游客的预定申请。现采用面向对象方法开发上述系统,得到如表 132 所示的用例列表和表 133 所示的类列表,对应的用例图和类图分别如图 135 和图 136 所示。 (分数:6.00)(1).根据说明中的描述与表 132,给出图 135 中 UC1UC6 处所对应的用例名称。(
9、分数:2.00)_(2).根据说明中的描述与表 133,给出图 136 中 C1C7 处所对应的类名。(分数:2.00)_(3).对于某些需求量非常大的小木屋或营地,说明中功能 4 的赔偿金计算规则,不足以弥补取消预定所带来的损失,如果要根据预定的时段以及所预定场地的需求量,设计不同层次的赔偿金计算规则,需要对图136 进行怎样的修改?(请用文字说明)(分数:2.00)_阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。【说明】某网上购物平台的主要功能如下:(1)创建订单。顾客(Customer)在线创建订单(Order),主要操作是向订单中添加项目、从订单中删除项目。订
10、单中应列出所订购的商品(Product)及其数量(quantities)。(2)提交订单。订单通过网络来提交。在提交订单时,顾客需要提供其姓名(name)、收货地址(address)以及付款方式(form ofpayment)(预付卡、信用卡或者现金)。为了制订送货计划以及安排送货车辆,系统必须确定订单量(volume)。除此之外,还必须记录每种商品的名称(name)、造价(cost price)、售价(saleprice)以及单件商品的包装体积(cubic volume)。(3)处理订单。订单处理人员接收来自系统的订单,根据订单内容,安排配货,制订送货计划。在送货计划中不仅要指明发货日期(d
11、elivery date),还要记录每个订单的限时发送要求(Delivery Time Window)。(4)派单。订单处理人员将已配好货的订单转交给派送人员。(5)送货收货。派送人员将货物送到顾客指定的收货地址。当顾客收货时,需要在运货单(delivery slip)上签收。签收后的运货单最终需交还给订单处理人员。(6)收货确认。当订单处理人员收到签收过的运货单后,会和顾客进行一次再确认。现采用面向对象方法开发上述系统,得到如图 137 所示的用例图和图138 所示的类图。 (分数:6.00)(1).根据说明中的描述,给出图 137 中 A1A3 所对应的参与者名称和 U1U2 处所对应的用
12、例名称。(分数:2.00)_(2).根据说明中的描述,给出图 138 中 C1C3 所对应的类名以及(1)(4)处所对应的多重度(类名使用说明中给出的英文词汇)。(分数:2.00)_(3).根据说明中的描述,将类 C2 和 C3 的属性补充完整(属性名使用说明中给出的英文词汇)。(分数:2.00)_阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。【说明】Pay&Drive 系统(开多少付多少)能够根据驾驶里程自动计算应付的费用。系统中存储了特定区域道路交通网的信息。道路交通网由若干个路段(Road Segment)构成,每个路段由两个地理位置坐标点(Node)标定,其里
13、程数(Distance)是己知的。在某些地理坐标点上安装了访问控制(Access Control)设备,可以自动扫描行驶卡(Card)。行程(Trajectory)由一组连续的路段构成。行程的起点(Entry)和终点(Exit)都装有访问控制设备。系统提供了 3 种行驶卡。常规卡(Regular Card)有效期(Valid Period)为一年,可以在整个道路交通网内使用。季卡(Season Card)有效期为三个月,可以在整个道路交通网内使用。单次卡(Minitrip Card)在指定的行程内使用,且只能使用一次。其中,季卡和单次卡都足预付卡(Prepaid Card),需要客户(Cust
14、omer。)预存一定的费用。系统的主要功能有:客户注册、申请行驶卡、使用行驶卡行驶等。使用常规卡行驶,在进入行程起点时,系统记录行程起点、进入时间(Date of Entry)等信息。在到达行程终点时,系统根据行驶的里程数和所持卡的里程单价(Unit Price)计算应付费用,并打印费用单(Invoice)。季卡的使用流程与常规卡类似,但是不需要打印费用单,系统自动从卡中扣除应付费用。单次卡的使用流程与季卡类似,但还需要存行程的起点和终点上检查行驶路线是否符合该卡所规定的行驶路线。现采用面向对象方法开发该系统,使用 LIML 进行建模。构建出的用例图和类图分别如图 139 和图 13 一 10
15、 所示。(分数:6.00)(1).根据说明中的描述,给出图 139 中的 Ul 和 U2 所对应的用例,以及(1)所对应的关系。(分数:2.00)_(2).根据说明中的描述,给出图 1310 中缺少的 C1C6 所对应的类名以及(2)(3)处所对应的多重度(类名使用说明中给出的英文词汇)。(分数:2.00)_(3).根据说明中的描述,给出 Road Segment、Trajectory 和 Card 所对应的类的关键属性(属性名使用说明中给出的英文词汇)。(分数:2.00)_阅读下列说明和图,回答问题 l 至问题 3,将解答填入答题纸的对应栏内。【说明】一个简单的图形编辑器提供给用户的基本操作
16、包括:创建图形、创建元素、选择元素以及删除图形。图形编辑器的组成及其基本功能描述如下:(1)图形由文本元素和图元元素构成,图元元素包括线条、矩形和椭圆。(2)图形显示在工作空间中,一次只能显示一张图形(即当前图形,current)。(3)编辑器提供了两种操作图形的工具:选择工具和创建工具。对图形进行操作时,一次只能使用一种工具(即当前活动工具,active)。创建工具用于创建文本元素和图形元素。对于显示在工作空间中的图形,使用选择工具能够选定其中所包含的元素,可以选择一个元素,也可以同时选择多个元素。被选择的元素成为当前选中元素(selected)。每种元素都具有相应的控制点。拖拽选定元素的控
17、制点,可以移动元素或者调整元素的大小。现采用面向对象方法开发该图形编辑器,使用 UML 进行建模。构建出的用例图和类图分别如图 1 3 一 11 和 13 一 12 所示。(分数:6.00)(1).根据说明中的描述,给出图 13 一 11 中 U1 和 U2 所对应的用例,以及(1)和(2)处所对应的关系。(分数:2.00)_(2).根据说明中的描述,给出图 13 一 12 中缺少的 C1C8 所对应的类名以及(3)(6)处所对应的多重度。(分数:2.00)_(3).图 13 一 12 中的类图设计采用了桥接(Bridge)设计模式,请说明该模式的内涵。(分数:2.00)_阅读下列说明和图,回
18、答问题 1 至问题 3,将解答填入答题纸的对应栏内。【说明】某网上药店允许顾客凭借医生开具的处方,通过网络在该药店购买处方上的药品。该网上药店的基本功能描述如下:(1)注册。顾客在买药之前,必须先在网上药店注册。注册过程中需填写顾客资料以及付款方式(信用卡或者支付宝账户)。此外顾客必须与药店签订一份授权协议书,授权药店可以向其医生确认处方的真伪。(2)登录。已经注册的顾客可以登录到网上药房购买药品。如果是没有注册的顾客,系统将拒绝其登录。(3)录入及提交处方。登录成功后,顾客按照“处方录入界面”显示的信息,填写开具处方的医生的信息以及处方上的药品信息。填写完成后,提交该处方。(4)验证处方。对
19、于已经提交的处方(系统将其状态设置为“处方已提交”),其验证过程为:核实医生信息。如果医生信息不正确,该处方的状态被设置为“医生信息无效”,并取消这个处方的购买请求;如果医生信息是正确的,系统给该医生发送处方确认请求,并将处方状态修改为“审核中”。如果医生回复处方无效,系统取消处方,并将处方状态设置为“无效处方”。如果医生没有在 7 天内给出确认答复,系统也会取消处方,并将处方状态设置为“无法审核”。如果医生在 7 天内给出了确认答复,该处方的状态被修改为“准许付款”。系统取消所有未通过验证的处方,并自动发送一封电子邮件给顾客,通知顾客处方被取消以及取消的原因。(5)对于通过验证的处方,系统自
20、动计算药品的价格并邮寄药品给已经付款的顾客。该网上药店采用面向对象方法开发,使用 UML 进行建模。系统的类图如图 13 一 13 所示。 (分数:6.00)(1).根据说明中的描述,给出图 1313 中缺少的 C1C5 所对应的类名以及(1)(6)处所对应的多重度。(分数:2.00)_(2).图 1314 给出了“处方”的部分状态图。根据说明中的描述,给出图 1314 中缺少的 S1S4 所对应的状态名以及(7)(10)处所对应的迁移(transition)名。 (分数:2.00)_(3).图 13 一 13 中的符号 和 (分数:2.00)_阅读下列说明和图,回答问题 1 至问题 3,将解
21、答填入答题纸的对应栏内。【说明】某运输公司决定为新的售票机开发车票销售的控制软件。图 13-15 给出了售票机的面板示意图以及相关的控制部件。 售票机相关部件的作用如下所述:(1)目的地键盘用来输入行程目的地的代码(例如,200 表示总站)。(2)乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。(3)继续取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。(4)显示屏显示所有的系统输出和用户提示信息。(5)插卡口接受 MCard(现金卡),硬币口和纸币槽接受现金。(6)打印机用于输出车票。假设乘客总是支付恰好需要的金额而无需找零,售票机的维护工作(取回现金、
22、放入空白车票等)由服务技术人员完成。系统采用面向对象方法开发,使用 UML 进行建模。系统的顶层用例图和类图分别如图 1316 和图 1317 所示。(分数:6.00)(1).根据说明中的描述,给出图 1316 中 Al 和 A2 所对应的参与者,U1 所对应的用例,以及(1)、 (2)处所对应的关系。(分数:2.00)_(2).根据说明中的描述,给出图 1317 中缺少的 ClC4 所对应的类名以及(3)(6)处所对应的多重度。(分数:2.00)_(3).图 13-17 中的类图设计采用了中介者(Mediator)设计模式,请说明该模式的内涵。(分数:2.00)_软件水平考试(中级)软件设计
23、师下午(应用技术)历年真题试卷汇编 4 答案解析(总分:54.00,做题时间:90 分钟)一、必答题(总题数:9,分数:54.00)1.必答题(共 4 道大题,每道大题)(分数:6.00)_解析:阅读下列说明和图,回答问题 l 至问题 3,将解答填入答题纸对应栏内。【说明】某城市拟开发一个基于web 的城市黄页,公开发布该城市重要的组织或机构(以 F 统称为客户)的基本信息,方便城市生活。该系统的主要功能描述如下:(1)搜索信息:任何使用 Internet 的网络用户都可以搜索发布在城市黄页中的信息,例如客户的名称、地址、联系电话等。 (2)认证:客户若想在城市黄页上发布信息,需通过系统的认证
24、。认证成功后,该客户成为系统授权用户。(3)更新信息:授权用户登录系统后,可以更改自己在城市黄页中的相关信息,例如变更联系电话等。(4)删除客户:对于拒绝继续在城市黄页上发布信息的客户,有系统管理员删除该客户的相关信息。系统采用面向对象方法进行开发,在开发过程中认定出如表 13 一1 所示的类。系统的用例图和类图分别如图 13 一 1 和图 132 所示。 (分数:6.00)(1).根据说明中的描述,给出图 13 一 l 中 Al 和 A2 处所对应的参与者,UC1 和 UC2 所对应的用例以及(1)处的关系。(分数:2.00)_正确答案:(正确答案:A1 网络用户 A2 授权用户 UCl 认
25、证 I_JC2 更新信息 (1)extend)解析:(2).根据说明中的描述,给出图 132 中 C1C5 所对应的类名(表 131 中给出的类名)和(2)(5)处所对应的多重度。(分数:2.00)_正确答案:(正确答案:C1:InternetClient C2:CustomerC3:RegisteredClient C4:AdministratorC5:CustomerList (2)1 (3)0* (4)1 (5)0*)解析:(3).认定类是面向对象分析中非常关键的一个步骤。一般首先从问题域中得到候选类集合,再根据相应的原则从该集合中删除不作为类的,剩余的就是从问题域中认定出来的类。简要说
26、明选择候选类的原则,以及对候选类集合进行删除的原则。(分数:2.00)_正确答案:(正确答案:候选类的选择运用了良性依赖原则“不会在实际中造成危害的依赖关系,都是良性依赖”和接口隔离原则(ISP)。)解析:解析:本题考查面向对象分析中的类图、用例图。用例图描述了一组用例、参与者及他们之间的关系。包括以下几个部分:用例(Case)、参与者(Acmr)。用例视图中的参与者与系统外部的一个实体以某种方式参与了用例的执行过程;用例是一个叙述型文档,用来描述参与使用系统、完成某个事情时发生的顺序。问题 1:用例图中,A1 可以搜索信息,A2 由 A1 派生且A2 参与了两个用例,根据题中的说明(1)和(
27、2),可知 A1 为网络用户,A2 为授权用户;由用例 UC1 和登录用例之间存在关系,可知 UCl 为认证用例,因为用户登录必须先认证,所以登录用例是认证的扩展,所以他们之间的关系为 extend。对于授权用户还可以更新信息,故 UC2 为更新信息用例。问题 2:本问题考察类图的层次结构和多重度。图中更有两个非常明显的继承结构,即 C3 和 C4 继承于 C1,且 C1 与 C2 是多比一的关系,根据说明(1)中任何网络用广都可以搜索客户信息,即 C1 网络用户,C2 为客户信息,由此很明显的得出 C3 和 C4 在授权用户和系统管理员中选取。根据 C2 和 C5 之间存在聚合关系,且 C2
28、 为客户信息,可以推断 C5 为客户集。再由 C4 和 C5之间的关联关系,且 C5 为客户集,能对客户集进行批量操作的用户 C4 显然就是系统管理员,由此得出C3 为授权用户。由此(2)(5)的多重度就显而易见, (2)为 1,(3)为 0*, (4)为 1, (5)为 0*。问题 3:候选类的选择运用了良性依赖原则“不会在实际中造成危害的依赖关系,都是良性依赖”。通过分析不难发现,本原则的核心思想是“务实”,很好地揭示了极限编程(Extreme Programming)中“简单设计”和“重构”的理论基础。本原则可以帮助我们抵御“面向对象设计 5 大原则”以及设计模式的诱惑,以免陷入过度设计
29、(Overengineering)的尴尬境地,带来不必要的复杂候选类的删除。候选类的删除运用了接口隔离原则(ISP):不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。这个说得很明白了,再通俗点说不要强迫客户使用它们不用的方法,如果强迫用户使用它们不使用的方法,那么这些客户就会面临由于这些不使用的方法的改变所带来的改变。阅读以下说明和图,根据要求回答问题 1问题 3。【说明】某航空公司会员积分系统(CFrequentFlyer)的主要功能描述如下:乘客只要办理该航空公司的会员卡,即可成为普卡会员(CBasic)。随着飞行里程数的积累,可以从普卡会员升级到银卡会员(CS
30、ilver)或金卡会员(CGold)。非会员(CNonMember)不能累积里程数。每年年末,系统根据会员在本年度累积的里程数对下一年会员等级进行调整。普卡会员在一年内累积的里程数若满 25,000 英里但不足 50,000 英里,则自动升级为银卡会员;若累积的里程数在 50,000 英里以上,则自动升级为金卡会员。银卡会员在一年内累积的里程数若在 50,000 英里以上,则自动升级为金卡会员。若一年内没有达到对应级别要求的里程数,则自动降低会员等级。金卡会员一年内累积的里程数若不足 25,000 英里,则自动降级为普卡会员;若累积的里程数达到 25,000 英里,但是不足 50,000 英里
31、,则自动降级为银卡会员。银卡会员一年内累积的里程数若不足 25,000 英里,则自动降级为普卡会员。采用面向对象方法对会员积分系统进行分析与设计,得到如图 133 所示的状态图和图 134 所示的类图。(分数:6.00)(1).根据说明中的描述,给出图 133 中 S1S3 处所对应的状态以及 T1T3 处所对应的迁移的名称。(分数:2.00)_正确答案:(正确答案:S1 普卡会员 S2 银卡会员 S3 金卡会员 T0 里程数50000 T2 里程数=50000 T3 里程数=50000)解析:(2).根据说明中的描述,给出图 134 中 C1C4 所对应的类名(类名使用说明中给出的英文词汇)
32、。(分数:2.00)_正确答案:(正确答案:C1:CNonMember,C2:CBasic,C3;CSilver,C41:CGold)解析:(3).图 134 所示的类图中使用了哪种设计模式?在这种设计模式下,类 CFrequemFlver 必须具有的属性是什么?C1 一 C4 中的 travel 方法应具有什么功能?本题考查面向对象分析中的类图、用例图。用例图描述了一组用例、参与者及他们之间的关系。包括以下几个部分:用例(Case)、参与者(Actor)。会员积分系统状态图就是一种用例图。用例视图中的参与者与系统外部的一个实体以某种方式参与了用例的执行过程;用例是一个叙述型文档,用来描述参与
33、使用系统、完成某个事情时发生的顺序。(分数:2.00)_正确答案:(正确答案:策略模式策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。类 CFrequemFlver 必须具有的属性是封装,C1C4 中的 travel 方法应该具有根据不同飞行里程相互转换的功能。)解析:解析:问题 1:普卡会员在一年内累积的里程数若满 25,000 英里但不足 50,000 英里,则自动升级为银卡会员;若累积的里程数在 50,000 英里以上,则自动升级为金卡会员。银卡会员在一年内累积的里程数若在 50,000 英里以上,则自动升级为金卡
34、会员;所以,S1 普卡会员 S2 银卡会员 S3 金卡会员。同样根据上述分析可知:T1 里程数50000T2 里程数=50000T3 里程数=50000。问题 2: 问题 2:本问题考察类图。考察类图的层次结构和多重度。图中更有 4 个非常明显的继承结构,即 C1C4 继承CLrevel,根据说明可知代表了四类不同的会员模式。问题 3:策略模式策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。类 CFrequemFlver 必须具有的属性是封装,C1C4 中的 travel 方法应该具有根据不同飞行里程相互转换的功能。阅读
35、下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。【说明】某城市的各国家公园周边建造了许多供游客租用的小木屋和营地,为此,该城市设置了一个中心售票处和若干个区域售票处。游客若想租用小木屋或营地,必须前往中心售票处进行预定并用现金支付全额费用,所有的预定操作全部由售票处的工作人员手工完成。现欲开发一信息系统,实现小木屋和营地的预定及管理功能,以取代手工操作。该系统的主要功能描述如下: (1)管理预定申请。游客可以前往任何一个售票处提出预定申请,系统对来自各个售票处的预定申请进行统一管理。 (2)预定。预定操作包含登记游客预定信息、计算租赁费用、付费等步骤。 (3)支付管理。游客
36、付费时可以选择现金和信用卡付款两种方式。使用信用卡支付可以享受 3的折扣,现金支付没有折扣。 (4)游客取消预定。预定成功之后,游客可以在任何时间取消预定,但需支付赔偿金,剩余部分则退还给游客,赔偿金的计算规则是,在预定入住时间之前的 48 小时内取消,支付租赁费用 10的赔偿金;在预定入住时间之后取消,则支付租赁费用 50的赔偿金。 (5)自动取消预定。如果遇到恶劣天气(如暴雨、山洪等),系统会自动取消所有的预定,发布取消预定消息,全额退款。(6)信息查询。售票处工作人员查询小木屋和营地的预定情况和使用情况,以判断是否能够批准游客的预定申请。现采用面向对象方法开发上述系统,得到如表 132
37、所示的用例列表和表 133 所示的类列表,对应的用例图和类图分别如图 135 和图 136 所示。 (分数:6.00)(1).根据说明中的描述与表 132,给出图 135 中 UC1UC6 处所对应的用例名称。(分数:2.00)_正确答案:(正确答案:UC 1: CheckAvailablity UC2: MakeReservation UC3: GetDiscount UC4: ManageCashPayment UC5: ManageCrCardPayment UC6: CalculateRefund)解析:解析:本问题要求将图 135 中的用例名称补充完整。用例图的构成要素有:参与者、用
38、例以及用例之间的关系。首先找出本题的突破 151,即图 135 中,ManagePayment 与 UC4、UC5 间的泛化关系。由“游客付费时可以选择现金和信用卡付款两种方式”,可知 UC4 和 UC5 为 ManageCashPayment 及ManageCrCardPayment。ManagePayment 与 UC3 之间为)解析:解析:UML 用例图中有包含(include)、扩展(extend)和泛化(generalization)三种关系。包含关系:使用包含(inclusion)用例来封装一组跨越多个用例的相似动作(行为片断),以便多个基(Base)用例复用。基用例可以依赖包含用
39、例执行的结果,但是双方都不能访问对方的属性。扩展关系:将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(Extension Point)上进行扩展,从而使基用例行为更简练和目标更集中。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此它能根据基用例中扩展点的当前状态来判断是否执行自己,但是扩展用例对基用例不可见。对于一个扩展用例,可以在基用例上有几个扩展点。泛化关系:子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系;子用例可以使用父用例的一段行为,也可以重载它;父用例通常是抽象的。在实际应用中很少使用泛化关系,子用例中的特殊行为都可以作为父用例中的备选流存在。本题中,系统提供了 3 种行驶卡:常规卡、季卡和单次卡。其中,季卡和单次卡都是预付卡。季卡的使用流程与常规卡类似,但是不需要打印费用单,系统自动从卡中扣除应付费用, “使用季卡行使”是“使用常规卡”的子用例,因此 U1 为使用常规卡行使。单次卡的使用流程与季卡类似,但还需要在行程的起点和终点上检查行驶路线是否符合该卡所规定的行驶路线。“使用单次卡行使”扩展了原来的用例“使用季卡行使”,因此 U2 为使用单次卡行驶,空(1)处填