问题 问答题

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

[问题2](7分)根据说明中的描述与表3-2,给出图3-2中C1~C7处所对应的类名。

答案

参考答案:

解析:本题考察的是类图建模。题目中已经给出了类的列表,要求考生根据说明指出每个类在类图中的位置。在解题时,可以同时参考用例图中给出的信息。 先整体地看一下类图,寻找其中是否包含继承、聚集或组装等这些层次结构,这是快速确定部分类的关键。在图3-2中有一个继承结构:C4、C6和C7。在图3-1中,用例之间也有一个概括的关系,这就提示我们,C4、C6和C7这3个类一定与支付功能相关。在表3-2中寻找与支付功能相关的类:Payment、CashPayment和CreditCardPayment。下来就是确定这3个类中,哪个是父类。很明显,Payment应该作为父类。因此C4对应Payment,C6对应CashPayment,C7对应CreditCardPayment(C6和C7可以互换)。支付管理中还有一项计算折扣的能力,类列表中的类Discount表示付款折扣,而与C5与C4之间具有关联关系,所以C5应该对应类Discout。 C1、C2分别与类“ReservationItem”之间具有组装和聚集的关系,而从说明中可知,具有这种整体部分关系的只有公园、预定及租赁费用之间,所以Cl对应NationalPark,C2对应Rate。最后的一个类C3对应TicketingOfficer,即用例图中的Actor。

单项选择题
多项选择题