问题 问答题

试题三(15分)阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]某城市的各国家公园周边建造了许多供游客租用的小木屋和营地,为此,该城市设置了一个中心售票处和若干个区域售票处。游客若想租用小木屋或营地,必须前往中心售票处进行预定并用现金支付全额费用。所有的预定操作全部由售票处的工作人员手工完成。现欲开发一信息系统,实现小木屋和营地的预定及管理功能,以取代手工操作。该系统的主要功能描述如下:1.管理预定申请。游客可以前往任何一个售票处提出预定申请。系统对来自各个售票处的预定申请进行统一管理。2.预定。预定操作包含登记游客预定信息、计算租赁费用、付费等步骤。3.支付管理。游客付费时可以选择现金和信用卡付款两种方式。使用信用卡支付可以享受3%的折扣,现金支付没有折扣。4.游客取消预定。预定成功之后,游客可以在任何时问取消预定,但需支付赔偿金,剩余部分则退还给游客。赔偿金的计算规则是,在预定入住时间之前的48小时内取消,支付租赁费用10%的赔偿金;在预定入住时间之后取消,则支付租赁费用50%的赔偿金。5.自动取消预定。如果遇到恶劣天气(如暴雨、山洪等),系统会自动取消所有的预定,发布取消预定消息,全额迟款。6.信息查询。售票处工作人员查询小木屋和营地的预定情况和使用情况,以判断是否能够批准游客的预定申请。现采用面向对象方法开发上述系统,得到如表3-1所示的用例列表和表3-2所示的类列表。对应的用例图和类图分别如图3-1和3-2所示。

[问题1](6分)根据说明中的描述与表3-1,给出图3-1中UCl~UC6处所对应的用例名称。

答案

参考答案:

解析:本题要求将图3-1所给出的用例图补充完整。题目说明中已经给出了所有可能的用例的列表(如表3-1所示)。这就省去了寻找用例的步骤,只需要依据用例列表中给出的用例,在说明中确定用例与Actor之间的关系即可将图补充完整。 用例图的构成要素有:参与者(Actor)、用例(Usecase)以及用例之间的关系。题目中的信息系统的主要用户是售票处的工作人员(Ticketing Officer),所以在图3-1中只给出了1个参与者。由说明可知,售票处工作人员利用该系统可以实现6个主要的功能:管理预定申请(ManageInquiries)、预定(MakeReservation)、支付管理(ManagePayment)、游客取消预定(CancelReservation)、自动取消预定(AutoCancelReservation)和信息查询(CheckAvailability)。其中“管理预定申请”、“支付管理”、“游客取消预定”、“自动取消预定”和“支付管理”均已经出现在图3-1中。支付租赁费用是预定过程中的一个必要步骤,而UC2和“交付管理”之间又是“include”关系,可以推断出UC2应该对应用例“预定(MakeReservation)”。那么用例“管理预定申请”和“预定”具有的相同步骤就是UCl所对应的用例,由此推断出UCl对应用例“信息查询(CheckAvailability)”。 由功能“支付管理”的说明可知,它具备两个能力:管理支付方式(信用卡或现金)以及计算折扣。UC4和UC5与用例“支付管理”之间是概括关系,说明UC4和UC5是支付方式的两个特化,所以UC4为“现金支付(MangeCashPaynent)”,UC5为“信用卡支付(ManageCrCardPayment)”。UC3对应“计算折扣(GetDiscount)”。 这时用例列表中只剩下用例CalcuateRefund(计算取消预定的赔偿金)没有出现在图中了,那么它就是UC6对应的用例。从图3-1来看,UC6应该表示用例“游客取消预定(CancelReservation)”和“自动取消预定(AutoCancelReservation)”中包含的公共事件流。不管是哪种类型的取消预定,都需要计算赔偿金,以决定退还给用户的费用,所以UC6对应用例 Calcuate Refund。

选择题
单项选择题