某物品拍卖网站为参与者提供物品拍卖平台,组织拍卖过程,提供在线或线下交易服务。网

资格题库2022-08-02  37

问题 某物品拍卖网站为参与者提供物品拍卖平台,组织拍卖过程,提供在线或线下交易服务。网站主要功能描述如下:(1)拍卖参与者分为个人参与者和团体参与者两种。不同的团体也可以组成新的团体参与拍卖活动。网站记录每个参与者的名称。(2)一次拍卖中,参与者或者是买方,或者是卖方。(3)一次拍卖只拍出来自一个卖方的一件拍卖品;多个买方可以出价:卖方接受其中一个出价作为成交价,拍卖过程结束。(4)在拍卖结算阶段,买卖双方可以选择两种成交方式:线下成交,买卖双方在事先约定好的成交地点,当面完成物价款的支付和拍卖品的交付;在线成交,买方通过网上支付平台支付物价款,拍卖品由卖方通过快递邮寄给买方。一次拍卖过程的基本事件流描述如下:(1)卖方在网站上发起一次拍卖,并设置本次拍卖的起拍价。(2)确定拍卖标的以及拍卖标的保留价(若在拍卖时间结束时,所有出价均低于拍卖标的保留价,则本次拍卖失败)。(3)在网站上发布本次拍卖品的介绍。(4)买方参与拍卖,给出竟拍价。(5)卖方选择接受一个竟拍价作为成交价,结束拍卖。(6)系统记录拍卖成交价,进入拍卖结算阶段。(7)卖方和买方协商拍卖品成交方式,并完成成交。现采用面向对象方法对系统进行分析与设计,得到如表3-1所示的类列表以及如图3-1所示的类图,类中关键属性与方法如表3-2所示。图3-1类图表3-2关键属性与方法列表【问题1】(7分)根据说明中的描述,给出图3-1中(1)~(7)所对应的类名(类名使用表3-1中给出的序号)。【问题2】(5分)根据说明中的描述,确定表3-2中的属性/方法分别属于哪个类(类名、方法/属性名使用表3-1、3-2中给出的序号)。【问题3】(3分)在图3-1采用了何种设计模式?以100字以内文字说明采用这种设计模式的原因。

选项

答案

解析 【问题1】注意:C8和C10可互换,互换后在问题2中也必须交换对应位置。【问题2】【问题3】组合模式,在本题中由于拍卖者分为个人参与者和团体参与者两种,而团体也可以组成新的团体参与拍卖活动。这样的整体部分关系,适合于使用组合模式表达。【问题1】图3-1共需要确定7个类,可以先从图中几个特殊关系处入手,即(1)~(3)和(4)~(6)。先来分析(1)~(3),这是一个继承+聚集的结构,而且联系的名称“participants”是一个比较明显的提示,说明这个层次结构是与【说明】中的功能描述(1)相对应的。参考表3-1,与之相关的类是C5(Auction Participant)、C7(OneParticipant)和C9(CompositeParticipant)。C7、C9是特殊的参与者,所以(1)处应该为C5;(2)处应该为C9,这个聚集关系针对着【说明】中的“不同的团体也可以组成新的团体参与拍卖活动”需求;(3)处为C7。结合【说明】和表3-1,另外一组具有“一般-特殊”关系的类只有C6(Interchange)、C8(OfflinePay)和C10(OnlinePay)。显而易见,C8和C10是C6的两种具体方式,所以(4)处应该为C6,(5)、(6)处分别为C8和C10。这样(7)处对应的类只能是Item了。结合【说明】和表3-1可知,(7)处对应的类表达的应该是拍卖中的拍卖品,所以(7)处应该是C2。【问题2】在确定了所有的类之后,确定每个类的属性和方法就比较容易了。完成本问题需要结合【说明】部分中所给出的拍卖过程的基本事件流描述。表3-2中的属性/方法与类之间的对应关系下表所示。【问题3】在【说明】部分有一个很明显的提示:“拍卖参与者分为个人参与者和团体参与者两种。不同的团体也可以组成新的团体参与拍卖活动”。这里很清晰地表达了一种“部分-整体”的层次关系,这种关系非常适合于采用Composite(组合)设计模式来表达。Composite设计模式将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。
转载请注明原文地址:https://tihaiku.com/congyezige/2410323.html

最新回复(0)