2023年上半年软件设计师考试下午真题加答案.doc
-
资源ID:58290099
资源大小:122.54KB
全文页数:7页
- 资源格式: DOC
下载积分:8金币
快捷下载

会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2023年上半年软件设计师考试下午真题加答案.doc
2023上半年软件设计师考试下午真题加答案(二)下午试题,是软件设计师考试的一大难点,除了掌握相应的知识点外,还要多做历年软考真题来巩固学过的知识点,希赛小编为大家整理了2023上半年软件设计师考试下午真题,希望对大家有所帮助。试题三(共15分)阅读下列说明和图,回答问题l至问题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)(借书)”的通信图(或协作图)。问题3.1说明中的描述,以及图3-1和图3-2,给出图3-1中C1C4处所相应的类名(类名使用图3-1和图3-2中给出的英文词汇)。答案:C1:PatronC2:BookC3:CatalogC4:Check out Session controller问题3.2根据说明中的描述,以及图3-1和图3-2,给出图3-2中M1M4处所相应的方法名(方法名使用图3-1和图3-2中给出的英文词汇)。答案:M1():getforcheck(bookID)M2():isFaculty()M3():circulates()M4():recordBookLoan问题3.3用例“借书”的备选事件流4a中,根据借书制度来鉴定读者能否借阅图书。若图书馆的借书制度会不断地扩充,并需要根据图书馆的实际运营情况来调整具体使用哪些制度。为满足这一规定,在原有类设计的基础上,可以采用何种设计模式?简要说明因素。答案:应采用策略模式,策略模式的优势在于,可以灵活的添加对同一问题的不同解决方案,这与题目规定非常吻合。试题四采用归并排序对n个元素进行递增排序时,一方面将n个元素的数组提成各含n/2个元素的两个子数组,然后用归并排序对两个子数组进行递归排序,最后合并两个已经排好序的子数组得到排序结果。下面的C代码是对上述归并算法的实现,其中的常量和变量说明如下:arr:待排序数组p,q,r:一个子数组的位置为从p到q,另一个子数组的位置为从q+l到rbegin,end:待排序数组的起止位置left,right:临时存放待合并的两个子数组n1,n2:两个子数组的长度i,j,k:循环变量mid:临时变量问题4.1根据以上说明和C代码,填充C代码中的空(1)(4)。答案:1)kr2)arrk=rightj3)begin<end4)mergeSort(arr,mid+1,end)问题4.2根据题干说明和以上c代码,算法采用了(5)算法设计策略。分析时间复杂度时,列出其递归式为(6),解得渐进时间复杂度为(7)(用O符号表达)。空间复杂度为(8)(用O符号表达)。答案:5)分治6)T(n)=2T(N/2)+O(n)7)O(nlogn)8)O(n)问题4.3两个长度分别为nl和n2的已排好序的子数组进行归并,根据上述C代码,则元素之间比较次数为(9)。答案:n1+n2