资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2022年软考-软件设计师考试题库及全真模拟冲刺卷(含答案带详解)1. 单选题面向对象分析时,执行的活动顺序通常是( )。问题1选项A.认定对象、组织对象、描述对象的相互作用、确定对象的操作B.认定对象、定义属性、组织对象、确定对象的操作C.认定对象、描述对象间的相互作用、确定对象的操作、识别包D.识别类及对象、识别关系、定义属性、确定对象的操作【答案】A【解析】本题考查面向对象分析的基本概念。面向对象分析包含5个活动:认定对象、组织对象、描述对象间的相互作用、定义对象的操作、定义对象的内部信息。认定对象是指:在应用领域中,按自然存在的实体确立对象。在定义域中,首先将自然存在的“名词”作为一个对象,这通常是研究问题定义域实体的良好开始。通过实体间的关系寻找对象常常没有问题,而困难在于寻找(选择)系统关心的实质性对象。实质性对象是系统稳定性的基础。例如在银行应用系统中,实质性对象应包含客户账务、清算等,而门卫值班表不是实质性对象,甚至可不包含在该系统中。组织对象含义是:分析对象间的关系,将相关对象抽象成类,其目的是为了简化关联对象,利用类的继承性建立具有继承性层次的类结构。抽象类时可从对象间的操作或一个对象是另一个对象的一部分来考虑;如房子由门和窗构成,门和窗是房子类的子类。由对象抽象类,通过相关类的继承构造类层次,所以说系统的行为和信息间的分析过程是一种迭代表征过程。描述对象间的相互作用是:描述出各对象在应用系统中的关系。如一个对象是另一个对象的一部分,一个对象与其他对象间的通信关系等。这样可以完整地描述每个对象的环境,由一个对象解释另一个对象,以及一个对象如何生成另一个对象,最后得到对象的界面描述。最后定义对象的操作和内部信息。本题选择A选项。2. 单选题在风险管理中,通常需要进行风险监测,其目的不包括( )。问题1选项A.消除风险B.评估所预测的风险是否发生C.保证正确实施了风险缓解步骤D.收集用于后续进行风险分析的信息【答案】A【解析】风险监测主要是对风险进行预测,评估,收集相关的信息,用来防止风险,从而做好相关的防范措施。对于评估所预测的风险是否发生、保证正确实施了风险缓解步骤、收集用于后续进行风险分析的信息都是风险监测的目的至于A选项消除风险,风险是无法被消除掉的,只能尽量避免。3. 单选题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 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 get 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 used 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 that 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.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【解析】设计面向对象的软件很难,而设计(可复用的)面向对象软件就更难了。你必须找到合适的(相关的)对象,以适当的粒度将它们划分为类,定义类接口和继承,并在它们之间建立关键关系。你的设计应该针对眼前的问题,但(一般 )足以解决未来的问题和要求。你也要避免重新设计,或者至少最小化它。有经验的面向对象设计师会告诉你,一个可重用和灵活的设计是很难第一次就“正确”的。在设计完成之前,他们通常会尝试多次重复使用,每次都是这样。然而,有经验的面向对象设计师确实能做出好的设计。同时,新的设计师们对可用的选项感到不安(第三题选项不知所措的意思),他们倾向于使用以前使用的非面向对象技术。电影要花很长时间才能了解好的面向对象的设计。经验丰富的设计师显然知道一些缺乏经验的东西。它是什么?有一件事专家设计师知道不能做的就是从第一原理解决每一个问题。相反,他们选择了过去对他们有效的解决方案。当他们找到一个好的(解决方案)。他们一次又一次地使用它。这样的经验是他们成为专家的部分原因。因此,您将在许多面向对象系统中找到第五题个类和通信对象的模式。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.experienced经验丰富D.past过去4. 单选题对高级程序语言进行编译的过程中,使用( )来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。问题1选项A.决策表B.符号表C.广义表D.索引表.【答案】B【解析】考查分析语义分析阶段相关问题。语义分析阶段主要是分析各语法结构的含义,检查源程序是否包含静态语义错误,并收集类型信息提供后面的代码生成阶段使用。在确认源程序的语法和语义后,可以对其进行翻译并给出源程序的内部表示。对于声明语句,需要记录所遇到的符号的信息,所以应该进行符号表的填查工作,用来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。至于决策表是用于测试的,广义表是针对数据结构的表示,索引表是数据库中指示逻辑和物理记录对应的关系。5. 单选题在某系统中,不同组(GROUP)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( )模式,用一个对象来封装系列的对象交互;使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用 ( )。问题1选项A.状态(State)B.策略(Strategy)C.解释器(Interpreter)D.中介者(Mediator)问题2选项A.创建型类B.创建型对象C.行为型对象D.行为型类问题3选项A.需要使用一个算法的不同变体B.有一个语言需要解释执行,并且可将句子表示为一个抽象语法树C.一个对象的行为决定于其状态且必须在运行时刻根据状态改变行为D.一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解【答案】第1题:D第2题:C第3题:D【解析】本题考查设计模式的问题。针对于题干和图示来看,不同组(GROUP)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,在组和用户之间用UserGroupMapper实现两者的交互,两者之间不直接交互,用一个对象来封装系列的对象交互;使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互,是典型关于中介者模式的描述和应用。中介者模式属于行为型对象模型,可以适用于一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。其中以下场景中A选项是对策略模式的描述,B选项是对解释器的描述,C选项是对状态模式的描述。综上所述,本题选择D,C,D6. 单选题某简单无向连通图G的顶点数为n,则图G最少和最多分别有
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号