列表

详情


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

 3-1

 

3-2 类列表



图3-1  用例图

【问题1】(6分)
    根据说明中的描述与表3-1,给出图3-1中UC1~UC6处所对应的用例名称。
【问题2】 (7分)
    根据说明中的描述与表3-2,给出图3-2中C1~C7处所对应的类名。
【问题3】(2分)
对于某些需求量非常大的小木屋或营地,说明中功能4的赔偿金计算规则,不足以弥补取消预定所带来的损失。如果要根据预定的时段以及所预定场地的需求量,设计不同层次的赔偿金计算规则,需要对图3-2进行怎样的修改?(请用文字说明)

参考答案:

【问题1】
UC1: CheckAvailability   UC2: MakeReservation 
UC3: GetDiscount       UC4: MangeCashPayment
UC5: ManageCrCardPayment  UC6: CalcuateRefund
注:4和5可以互换
【问题2】
C1 NationaIPark    C2: Rate
C3: TicketingOfficer    C4: Payment
C5: Discount    C6: CasbPayment
C7: CreditCardPayment
注:6和7可以互换
【问题3】
解答1:增加一个新的类.该类与类Reservationltem之间有关联关系。

解答2:修改Rate类.使其具有计算赔偿金的功能。
回答出其中一种修改方式即可。

详细解析:

本题考查用例图和类图。涉及到用例之间的关系、类之间的关系等问题。
【问题1】
本题要我们补充完整用例图,这是考试中常考的知识点。在题目的描述中,其实已经给出了本题中相关的用例,我们只需要通过阅读题目的描述,理解清楚这些用例之间的关系,然后结合用例图就可以完成这个问题。
在用例图中,只有一个参与者,就是售票处工作人员,通过题目的描述,我们不难知道,他应该与自动取消预订、游客取消预定、管理预定申请和信息查询这些用例有直接关系,因此可以知道用例UC2是预定用例(MakeReservation)。而从用例图中可以看出,UC1与信息查询和管理预定申请都是一种包含关系,说明用例UC1是预定和管理预定申请这两个用例必须都经历的一种行为,因此可以知道此用例是信息查询(CheckAvailability)。
而UC3是支付管理的包含用例,根据题目的描述不难知道,在每次付款时,都要首先计算付款折扣,因此,支付管理用例肯定包含了计算付款折扣这个用例,因此UC3就是计算付款折扣(GetDiscount)。而支付方式有现金支付和信用卡支付两种方式,这两种方式与支付管理是一种泛化关系,因此可以UC4和UC5分别是现金支付(MangeCashPayment)和信用卡支付(ManageCrCardPayment),当然,他们俩的位置可以互换。
另外,从用例图不难看出,UC6是游客取消预定和系统自动取消预定用例所包含的用例,而这两个用例都必须包含的部分是计算机赔偿金,因此UC6是计算取消预定的赔偿金(CalcuateRefund)。
【问题2】
本题要我们补充完整类图,也是考试中常考的知识点。题目中给出了相关的类,要我们根据题目的描述并结合类图来完成。
C1与类预定申请内容是一种组合关系,而其内容其实就是供游客租用的小木屋和营地以及它们的价格等信息,再结合类图可知,C1应该是国家公园。而从类图可以看出,C2聚合而成预定申请内容类,那么根据前面的分析,不难知道C2是租凭费用类。
而从类图不难看出,C6和C7是继承与C4,而从题目的分析中,只有付款、现金支付、信用卡支付存在这种继承关系,因此可以确定C4是付款,而C6和C7分别对应现金支付和信用卡支付。位置可以互换。这样就剩下C3和C5没有确定,而没有确定的类还有售票处和付款折扣。其中C3与预定申请有关,根据题目描述,预定申请是要提交给售票处的,因此可以确定C3就是售票处,而付款的时候有个付款折扣信息,因此C5就是付款折扣。
【问题3】
问题3主要是要设计赔偿金计算规则,要实现这个功能,可以添加一个类来实现,这类要与类Reservationltem之间有关联关系,也可以在原来的类中实现,如果是这样,就应该是类Rate中实现,因为这个类实现的是租凭费用,且这个类与Reservationltem之间是一种聚合的关联关系。

上一题