《2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第100期》由会员分享,可在线阅读,更多相关《2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第100期(26页珍藏版)》请在金锄头文库上搜索。
1、2022年软考-软件设计师考前拔高综合测试题(含答案带详解)1. 单选题Designing object -oriented software is hard,and designing( )object -oriented software is even harder.You must find pertinent(相关的)objects,factor them into class at the right granularity,define class interfaces and inheritances,and establish key relationships among
2、them.You design should be specific to the problem at hand but also( )enough to address future problems and requirements.You also want to avoid redesign,or at least minimize it.Experienced object -oriented designers will tell you that a reusable and flexible design is difficult if not impossible to g
3、et right the first time.Before a design is finished,they usually try to reuse it several times,modifying it each time.Yet experienced object-oriented designers do make good designs.Meanwhile new designers are( )by the options available and tend to fall back on non-object-oriented techniques theyve u
4、sed before.lt takes a long time for novices to learn what good object-oriented design is all about.Experienced designers evidently know something inexperienced ones dont.What is it?One thing expert designers know not to do is solve every problem from first principles.Rather, they reuse solutions tha
5、t have worked for them in the past.When they find a good( ).They use it again and again.Such experience is part of what makes them experts.Consequently,youll find( )patterns of classes and communicating objects in many object-oriented systems.问题1选项A.runnableB.rightC.reusableD.pertinent问题2选项A.clearB.
6、generalC.personalizedD.customized问题3选项A.excitedB.shockenC.surprisedD.overwhelmed问题4选项A.toolB.componentC.systemD.solution问题5选项A.recurringB.rightC.experiencedD.past【答案】第1题:C第2题:B第3题:D第4题:D第5题:A【解析】设计面向对象的软件很难,而设计(可复用的)面向对象软件就更难了。你必须找到合适的(相关的)对象,以适当的粒度将它们划分为类,定义类接口和继承,并在它们之间建立关键关系。你的设计应该针对眼前的问题,但(一般 )足
7、以解决未来的问题和要求。你也要避免重新设计,或者至少最小化它。有经验的面向对象设计师会告诉你,一个可重用和灵活的设计是很难第一次就“正确”的。在设计完成之前,他们通常会尝试多次重复使用,每次都是这样。然而,有经验的面向对象设计师确实能做出好的设计。同时,新的设计师们对可用的选项感到不安(第三题选项不知所措的意思),他们倾向于使用以前使用的非面向对象技术。电影要花很长时间才能了解好的面向对象的设计。经验丰富的设计师显然知道一些缺乏经验的东西。它是什么?有一件事专家设计师知道不能做的就是从第一原理解决每一个问题。相反,他们选择了过去对他们有效的解决方案。当他们找到一个好的(解决方案)。他们一次又一
8、次地使用它。这样的经验是他们成为专家的部分原因。因此,您将在许多面向对象系统中找到第五题个类和通信对象的模式。A. runnable可运行的B.right对的C. reusable可复用的D. pertinent中肯的,相关的A. clear清除B. general总则C. personalized个性化D.customized定制A. excited兴奋B. shocken 震惊C. surprised惊讶于D. overwhelmed不知所措A.tool工具B. component组成部分C. system系统D. solution解决方案A.recurring循环B.right是吗C.e
9、xperienced经验丰富D.past过去2. 单选题对有向图G进行拓扑排序得到的拓扑序列中,顶点Vi在顶点Vj之前,则说明G中()问题1选项A.一定存在有向弧B.一定不存在有向弧C.必定存在从Vi到Vj的路径D.必定存在从Vj到Vi的路径【答案】B【解析】本题考查拓扑序列的相关问题。对于拓扑序列,需要按照有向弧的指向,明确其先后顺序,例如:存在一条Vi指向Vj的有向弧,那么在拓扑序列中Vi需要写出Vj前面,其次对于属于同一层次或者毫无关联的两个结点可以不用在意先后顺序。根据题干描述,对有向图G进行拓扑排序得到的拓扑序列中,顶点Vi在顶点Vj之前,我们试着对以下选项进行分析:A、一定存在有向
10、弧,说法错误,不一定存在,Vi和Vj可以是并列的,并不一定要存在Vi到Vj的有向弧。B、一定不存在有向弧,说法正确,如果存在有向弧,那么Vj是需要在顶点Vi之前的,则与题干相悖,所以必定不存在。C、必定存在从Vi到Vj的路径,说法错误,不一定存在,Vi和Vj可以是两个毫无关联没有指向的关系,不会存在相关的路径。D、必定存在从Vj到Vi的路径,说法错误,如果存在Vj到Vi的路径,Vj就会出现在Vi前面3. 案例题阅读下列说明和Java代码,将应填入(n) 处的字句写在答 题纸的对应栏内。【说明】在线支付是电子商务的一一个重要环节,不同的电子商务平台提供了不同的支付接口。现在需要整合不同电子商务平
11、台的支付接口,使得客户在不同平台上购物时,不需要关心具体的支付接口。拟采用中介者(Mediator) 设计模式来实现该需求,所设计的类图如图6-1所示。【Java代码】【答案】(1) void buy(double money, WebService service)(2) WebServiceMediator(3) abstract void buyService(double money)(4) mediator.buy(money, this)(5) mediator.buy(money, this)【解析】(1)空是属于接口WebServiceMeditor内的方法,我们可以通过下文的
12、实现类中找到ConcreteServiceMeditor可知缺少了一个buy()方法故第一空填写void buy(double money, WebService service);(2)空类WebService中属性的参数类型,Colleague与Mediator之间的关联关系由属性meditor实现,所以第2空应该填写WebServiceMediator;(3)空类WebService中的抽象方法,根据其具体子类可以看到缺少的是buyService方法,书写成 abstract void buyService(double money);(4)空和(5)空具体同事类Amazon、Ebay与
13、中介者的通信,调用中介者之间的支付接口,所以空(4)和(5)都填写mediator.buy(money, this)。4. 单选题在线性表L中进行二分查找,要求L( )。问题1选项A.顺序存储,元素随机排列B.双向链表存储,元素随机排列C.顺序存储,元素有序排列D.双向链表存储,元素有序排列【答案】C【解析】本题考查二分查找相关知识。二分查找的前提条件是顺序存储,且有序排列。本题选择C选项。5. 单选题以下关于中断方式与DMA方式的叙述中,正确的是( )。问题1选项A.中断方式与DMA方式都可实现外设与CPU之间的并行在工作B.程序中断方式和DMA方式在数据传输过程中都不需要CPU的干预C.采
14、用DMA方式传输数据的速度比程序中断方式的速度慢D.程序中断方式和DMA方式都不需要CPU保护现场【答案】A【解析】输入/输出技术的三种方式:直接查询控制:有无条件传送和程序查询方式,都需要通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。在这种情况下CPU不做别的事情,只是不停地对外设的状态进行查询。中断方式:当I/O系统与外设交换数据时,CPU无须等待也不必查询I/O的状态,而可以抽身来处理其他任务。当I/O系统准备好以后,则发出中断请求信号通知CPU,CPU接到中断请求信号后,保存正在执行的程序的现场,转入I/O中断服务程序的执行,完成于I/O系
15、统的数据交换,然后再返回被打断的程序继续执行。与程序控制方式相比,中断方式因为CPU无需等待而提高了效率。DMA:直接寄存器存取方式,是指数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU正在过程开始启动与过程结束时的处理,实际操作由DMA硬件直接执行完成。6. 单选题下列关于风险的叙述中,不正确的是( )。问题1选项A.风险是可能发生的事件B.如果能预测到风险,则可以避免其发生C.风险是可能会带来损失的事件D.对于风险进行干预,以期减少损失【答案】B【解析】风险是可能发生的事件,并且可能会带来损失,预测到风险后,可以进行干预以期减少损失,但是无法避免。B选项的描述是错误的。7. 单选题