距离2024下半年软考已经越来越近了,不知道今年备考软考软件设计师的同学们开始准备了吗?
简答题一直是软设拿分的重点区域,对于许多考生来说,也往往是最具挑战性的部分。今天我就把那些重要的案例简答题类型整理汇总给大家,希望大家能通过这些题掌握正确的答题技巧和吃透那些重要考点,到时候就可以更轻松地应对这一部分考试了。
1、阅读下列说明和图,回答问题。
某高校目前使用的图书馆系统已建设多年,不能符合当前应用的一些需求,故计划重新建设图书馆管理系统。项目负责人王工经过初步需求调研已掌握部分情况,并开始使用UML工具进行建模。用例模型中用例“借书(Check Out Books)”的详细描述如下。
参与者:读者(Patron)。
典型事件流:
1.输入读者ID;
2.确认该读者能够借阅图书,并记录读者ID;
3.输入所要借阅的图书ID;
4.根据图书目录中的图书ID确认该书可以借阅,计算归还时间,生成借阅记录;
5.通知读者图书归还时间。
重复步骤3~5,直到读者结束借阅图书。
备选事件流:
2a.若读者不能借阅图书,说明读者违反了图书馆的借书制度(例如,没有支付借书费用等)
①告知读者不能借阅,并说明拒绝借阅的原因;
②本用例结束。
4a.读者要借阅的书无法外借
①告知读者本书无法借阅;
②回到步骤3。
说明:图书的归还时间与读者的身份有关。如果读者是教师,图书可以借阅一年;如果是学生,则只能借阅3个月。读者ID中包含读者身份信息。
现采用面向对象方法开发该系统,得到如图1所示的系统类模型(部分);以及如图2所示的系统操作“checkOut(bookID)(借书)”通信图(或协作图)。
图1 系统类模型
图2 系统操作checkOut的通信图
【问题1】根据说明中的描述,以及图1和图2,给出图1中C1-C4处所对应的类名(类名使用图1和图2中给出的英文词汇)。(6分)
【问题2】(6分)
根据说明中的描述,以及图1和图2,给出图2中M1-M4处所对应的方法名(方法名使用图1和图2中给出的英文词汇)。
【问题3】(3分)
用例“借书”的备选事件流4a中,根据借书制度来判定读者能否借阅图书。若图书馆的借书制度会不断地扩充,并需要根据图书馆的实际运行情况来调整具体使用哪些制度。为满足这一要求,在原有类设计的基础上,可以釆用何种设计模式?简要说明原因。
参考答案:
【问题1】(6分)
C1:Patron
C2:Book
C3:Catalog
C4:CheckoutSessionController
【问题2】(6分)
M1:getForCheckOut
M2:isFaculty
M3:circulates
M4:recordBookLoan
【问题3】(3分)
应采用策略模式,策略模式的优势在于可以灵活的添加对同一问题的不同处理方案,这与题目要求非常吻合。
解析:
根据系统类模型,我们可以分析出各个类之间的关联关系。
首先从类Accouts中的canCheckOut(patronID:string)方法,可以看出Accouts关联Patron,因此图中C1为Patron。
C1为Patron,则C1必会与书关联,从C1中的recordBookLoad(b:C2),可以看出C1关联C2。因此C2为Book。
C2为Book,根据系统操作checkOut的通信图,可以看出与Book关联的是Catalog,因此C3为Catalog。
结合两图,则可以得出C4为CheckoutSessioncontroller。
结合典型事件流:
1.输入读者ID;
2.确认该读者能够借阅图书,并记录读者ID;
以上两步实际上就是判断读者是不是老师,也就是isFaculty(),因此M2为isFaculty()。
3.输入所要借阅的图书ID;对应的操作就是M1:getforcheck(bookID)。
4.根据图书目录中的图书ID确认该书可以借阅,计算归还时间,生成借阅记录;对应的操作就是M3:circulates()。
5.通知读者图书归还时间。对应的操作就是M4:recordBookLoan()。
2、阅读以下说明和数据流图。
学生住宿服务系统帮助学生在就业的城市寻找住房,系统对出租的房屋信息、房主信息、需要租房的学生信息以及学生和房主的会面信息进行管理和维护。
房主信息包括姓名、地址、电话号码以及系统分配的唯一身份标识(ID)和密码;房屋信息包括房屋地址、类型(单间/套间)、适合住宿的人数、房租、房主的ID以及现在是否可以出租(例如由于装修原因,需等到装修后才可出租或者房屋已被租出)。每当房屋信息发生变化时,房主须通知系统,系统将更新房屋件以便学生能够获得准确的可租用房屋信息,房主向系统中加入可租用的房屋信息时,需交纳一定的费用,由系统自动给出费用信息。房主可随时更新房屋的各种属性。
学生可通过系统查询现有的可租用的房屋,但必须先在系统中注册。学生信息包括姓名、现住址、电话号码、出生日期、性别以及系统分配的唯一身份标识(ID)和密码。若学生希望租用某房屋,则需要发出租房请求,请求中包含房屋的详细信息,系统将安排学生与房主会面的时间和地点,并将会面信息通知学生和房主,会面信息包括会面时间、地点以及会面双方的基本信息,系统将记录会面信息。
学生住宿服务系统的顶层图如图1-1所示;学生住宿服务系统的第0层DFD图如图1-2所示,其中,加工3的细化图如图1-3所示。
【问题1】(6分)
(1)数据流图1-1缺少了一条数据流(在图1-2中也未给出该数据流),请给出此数据流的起点和终点,并采用说明中的词汇给出此数据流名。
(2)数据流图1-2中缺少了与"查询房屋"加工相关的数据流,请指出此数据流的起点和终点。
【问题2】(4分)
"安排会面"加工除需要写入会面文件外,还需要访问哪些文件?
【问题3】(5分)
请补齐下列数据字典条目:
登录信息=学生ID+密码
注册信息=
数据流图1-1
数据流图1-2
数据流图1-3
参考答案:
【问题1】
(1)起点:学生住宿服务系统 终点:房主
数据流名:费用信息或交纳的费用或费用
(2)起点:房屋文件 终点:查询房屋或4
【问题2】
房主文件 和 学生文件
【问题3】
姓名+现住址+电话号码+出生日期+性别
3、阅读下列说明和图,回答问题。
已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批。主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开会讨论决定。
采用责任链设计模式(Chain of Responsibility)对上述过程进行设计后得到的类图如图
......
篇幅有限,有需要PDF完整版或更多资料的朋友,可以自行获取↓↓↓