阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
说明:某高校图书馆欲建设一个图书馆管理系统,目前已经完成了需求分析阶段的工作。功能需求均使用用例进行描述,其中用例"借书(CheckOutBooks)"的详细描述如下。参与者:读者(Patron)。
典型事件流:
1.输入读者ID;
2.确认该读者能够借阅图书,并记录读者ID;
3.输入所要借阅的图书ID;
4.根据图书目录中的图书ID确认该书可以借阅,计算归还时间,生成借阅记录;
5.通知读者图书归还时间。重复步骤3~5,直到读者结束借阅图书。
备选事件流:
2a.若读者不能借阅图书,说明读者违反了图书馆的借书制度(例如,没有支付借书费用等)
①知读者不能借阅,并说明拒绝借阅的原因;
②用例结束。
4a.读者要借阅的书无法外借
①知读者本书无法借阅;
②到步骤3。
说明:图书的归还时间与读者的身份有关。如果读者是教师,图书可以借阅一年;如果是学生,则只能借阅3个月。读者ID中包含读者身份信息。现采用面向对象方法开发该系统,得到如图3-1所示的系统类模型(部分);以及如图3-2所示的系统操作"checkOut(bookID)(借书)"的通信图(或协作图)。
问题1:根据说明中的描述,以及图3-1和图3-2,给出图3-1中C1~C4处所对应的类名(类名使用图3-1和图3-2中给出的英文词汇)。
问题2:根据说明中的描述,以及图3-1和图3-2,给出图3-2中M1~M4处所对应的方法名(方法名使用图3-1和图3-2中给出的英文词汇)。
问题3:用例"借书"的备选事件流4a中,根据借书制度来判定读者能否借阅图书。若图书馆的借书制度会不断地扩充,并需要根据图书馆的实际运行情况来调整具体使用哪些制度。为满足这一要求,在原有类设计的基础上,可以采用何种设计模式?简要说明原因。