软考软件设计师教程试题分析加答案

合集下载

计算机软考:软件设计师练习试题及答案解析(2)

计算机软考:软件设计师练习试题及答案解析(2)

计算机软考:软件设计师练习试题及答案解析(2) 21. 新软件项⽬与过去成功开发过的⼀个项⽬类似,但规模更⼤,此时⽐较适合使⽤ (25) 进⾏项⽬开发设计。

(25) A.原型法 B.变换模型 C.瀑布模型 D.螺旋模型 参考答案:(25)C。

解析:由于新项⽬与过去成功开发过的⼀个项⽬类似,已经有了成功的项⽬开发经验和积累的软件模块,因此,应尽可能将这些经验和软件模块应⽤到新项⽬中,即对于这个规模更⼤的软件项⽬应该使⽤瀑布模型进⾏开发。

22.在下列代码中,正确的C代码是(26) (26) A. #defineMYNAME="ABC" B. #includestring.h C. for(i=0;i<10;i++); D. structintstu{intname}; 参考答案:(26) C。

解析:A是关于宏定义的,在宏的定义形式中,宏名与字符列之间⾄少有⼀个空⽩符,并在宏名希望代表的字符序列之间也不能有任何⾮空格类字符,若有也被当作是字符序列的⼀部分。

有了宏定义,以后程序中若要有宏名后的字符序列就可简写成宏名。

选择①在宏名之后紧接字符=。

B是关于包含命令的,在上述包含命令的格式中,被包含⽂件应放在⼀对尖括号之间,或⼀对双引号之间,不可在⽂件名字符列的⾸末没有这种符号。

C是for语句,for语句的循环体可以⽤空语句,从语⾔的句法规则来说,该语句是正确的。

但通常循环是为了完成某种重复计算操作,单⼀地让⼀个变量循环增1到某个值,程序员是不会编写这种代码的。

D是想定义结构类型,定义结构时,struct后接结构类型名,不可在结构名之前插⼊某些其它类型符。

正确解答是C。

23.在下列代码中,正确的C代码是(27) (27)A. #definePI=3.14159 B. include"stdio.h" C. for(i=0,i<10,i++)a++; D. staticstruct{inti;}b={2}; 参考答案:D。

软考软件设计师考试试题加答案

软考软件设计师考试试题加答案

软考软件设计师考试试题加答案(一)(总5页)--本页仅作预览文档封面,使用时请删除本页--软考软件设计师考试试题加答案(一)打算参加2017下半年软件设计师考试的你,已经开始备考了吗?多做试题是非常好的一种备考方式,下面希赛软考培训部为大家整理了几套软件设计师考试试题,供你参考学习。

1.下列说法中正确的是()。

A.网络中的计算机资源主要指服务器、路由器、通信线路与用户计算机B.网络中的计算机资源主要指计算机操作系统、数据库与应用软件C.网络中的计算机资源主要指计算机硬件、软件、数据D.网络中的计算机资源主要指Web服务器、数据库服务器与文件服务器【答案】C2.计算机网络可分为三类,它们是()。

、Intranet、ExtranetB.广播式网络、移动网络、点--点式网络、ATM、B-ISDN、MAN、WAN【答案】D3.拓扑设计是建设计算机网络的第一步。

它对网络的影响主要表现在()。

I.网络性能II.系统可靠性III.通信费用IV.网络协议、II、II和III、II和IV、IV【答案】C4.下列说法中正确的是()。

A.互联网计算机必须是个人计算机B.互联网计算机必须是工作站C.互联网计算机必须使用TCP/IP协议D.互联网计算机在相互通信时必须遵循相同的网络协议【答案】C5.组建计算机网络的目的是实现连网计算机系统的()。

A.硬件共享B.软件共享C.数据共享D.资源共享【答案】D6.以下关于光纤特性的描述哪个是不正确的()。

A.光纤是一种柔软、能传导广波的介质B.光纤通过内部的全反射来传输一束经过编码的光信号C.多条光纤组成一束,就构成一条光缆D.多模光纤的性能优于单模光纤【答案】D7.一座大楼内的一个计算机网络系统,属于()。

【答案】B8.计算机网络中可以共享的资源包括()。

A.硬件、软件、数据、通信信道B.主机、外设、软件、通信信道C.硬件、程序、数据、通信信道D.主机、程序、数据、通信信道【答案】A9.在星型局域网结构中,连接文件服务器与工作站的设备是()。

2021上半年软件设计师考试上午真题试题解析+参考答案

2021上半年软件设计师考试上午真题试题解析+参考答案

2021上半年软件设计师考试上午真题(解析+参考答案)1.参考答案:A试题解析:A选项程序计数器PC:存储下一条要执行指令的地址。

本题选择A选项。

B选项指令寄存器IR:存储即将执行的指令。

C选项主存地址寄存器MAR:用来保存当前CPU所访问的内存单元的地址。

D选项状态条件寄存器PSW:存状态标志与控制标志2. 参考答案:D试题解析:A选项:RISC适合流水线,CISC不适合。

B选项:RISC是精简指令集系统计算机简称,使用简单的指令。

CISC是复杂指令集系统计算机简称,使用复杂的指令。

C选项:RISC多寄存器寻址,所以会在实现过程中增加通用寄存器,CISC不需要采用很多通用寄存器。

D选项:RISC采用硬布线逻辑(即组合逻辑控制器)实现,CISC采用微码(即微程序)实现。

D选项的说法是正确的。

3. 参考答案:C试题解析:DMA是直接内存存取,传送数据的时间只与内存相关,与CPU的时间无关。

4. 参考答案:C试题解析:闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位,区块大小一般为256KB到20MB。

闪存是电子可擦除只读存储器(EEPROM)的变种,EEPROM与闪存不同的是,它能在字节水平上进行删除和重写而不是整个芯片擦写,这样闪存就比EEPROM的更新速度快。

由于其断电时仍能保存数据,闪存通常被用来保存设置信息。

闪存不像RAM(随机存取存储器)一样以字节为单位改写数据,因此不能取代RAM,也不能替换主存,因此C选项错误。

但是在嵌入式中,可以用闪存代替ROM存储器。

5. 参考答案:C试题解析:磁盘的平均存取时间、数据传输速率与磁盘转速以及移臂调度时间都相关,所以无法直接通过磁盘的转速提高一倍就直接提高效率。

磁盘的平均寻道时间与磁盘转速无关,至于移臂调度有关,也无法因此加倍。

只有C选项中,磁盘的旋转延迟时间至于磁盘转速相关,转速提高一倍,其时间会减半。

2022软考中级软件设计师历年经典真题及解析part16

2022软考中级软件设计师历年经典真题及解析part16

第1题单选题一个程序根据输入的年份和月份计算该年中该月的天数,输入参数包括年份(正整数)、月份(用1~12表示)。

若用等价类划分测试方法进行测试,则()不是一个合适的测试用例(分号后表示测试的输出)。

A.(2013,1,31)B.(0,1,‘错误’)C.(0,13,‘错误’)D.(2001,-1,‘错误’)【解析】正确答案:C。

测试用例编写一般原则:1、设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;2、设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

在本题中,C选项同时覆盖了两个无效等价类,所以不符合测试用例编写的一般原则。

第2题单选题下面关于栈和队列的叙述,错误的是()。

A.栈和队列都是操作受限的线性表B.队列采用单循环链表存储时,只需设置队尾指针就可使入队和出队操作的时间复杂度都为O(1)C.若队列的数据规模n可以确定,则采用顺序存储结构比链式存储结构效率更高D.利用两个栈可以模拟一个队列的操作,反之亦可【解析】正确答案:D。

第3题单选题若关系R、S如下图所示,则关系代数表达式π1,3,7 (σ3<6(R×S))与()等价。

A.π A,C,E(σ C<D (R×S))B. π A,R.C,E (σ R.C <S.D (R×S))C.πA,S.C,S.E(σR.C <S.D(R×S))D. πR.A,R.C,R.E(σR.C <S.D(R×S))【解析】正确答案:B。

本题考查关系代数运算方面的基础知识。

本题要求关系代数表达式π1,3,7 (σ3<6(R×S))的结果集,其中,R×S的属性列名分别为:R.A,R.B, R.C,R.D,S.C, S.D和S.E ,其结果如下表所示:σ3<6 (R×S)的含义是从R×S结果集中选取第个分量(R.C),小于第六个分量(S.D )的元组,故σ3<6 (R×S)与σ R.C<S.D (R×S)等价。

2024上半年软件设计师软考试题

2024上半年软件设计师软考试题

1、在软件开发过程中,需求分析阶段的主要任务是确定:A. 软件的总体结构B. 软件的具体实现算法C. 软件的功能和性能要求D. 软件的测试计划(答案:C)2、下列关于模块化设计的说法中,错误的是:A. 模块之间的耦合应尽可能低B. 模块的内聚性应尽可能高C. 模块的规模越大,可维护性越好D. 模块化设计有助于提高软件的可重用性(答案:C)3、在面向对象编程中,继承机制的主要作用是:A. 实现代码的重用B. 提高程序的运行效率C. 简化数据结构的定义D. 增强程序的可读性(答案:A)4、下列关于软件测试的说法中,正确的是:A. 软件测试的目的是证明软件没有错误B. 软件测试应尽可能在编码阶段之后进行C. 软件测试应贯穿软件开发的各个阶段D. 单元测试主要由用户来完成(答案:C)5、在数据库设计中,实体-关系图(ER图)主要用于表示:A. 数据流图B. 数据结构C. 概念模型D. 物理模型(答案:C)6、下列关于敏捷开发的说法中,错误的是:A. 敏捷开发强调以人为本、团队协作B. 敏捷开发适用于需求变化频繁的项目C. 敏捷开发不需要文档和计划D. 敏捷开发提倡持续集成和持续交付(答案:C)7、在软件架构设计中,MVC模式是一种常用的设计模式,其中M、V、C分别代表:A. Model、View、ControllerB. Module、View、ComponentC. Message、View、ControlD. Master、View、Client(答案:A)8、下列关于软件配置管理的说法中,正确的是:A. 软件配置管理仅涉及源代码的管理B. 软件配置管理的目的是提高软件开发效率C. 软件配置管理不包括对变更的控制和管理D. 软件配置管理的主要活动包括标识、控制、状态记录和审计(答案:D)9、在软件测试中,黑盒测试主要关注:A. 软件的内部结构和实现细节B. 软件的功能和性能要求是否满足用户需求C. 软件的代码质量和编程风格D. 软件的可靠性和可用性(答案:B)10、下列关于软件维护的说法中,错误的是:A. 软件维护是软件开发周期中持续时间最长的阶段B. 软件维护包括改正性维护、适应性维护、完善性维护和预防性维护C. 软件维护的目的是提高软件的可用性和可维护性D. 软件维护只能在软件发布后进行(答案:D)。

软考软件设计师习题答案与解析

软考软件设计师习题答案与解析

软考软件设计师习题答案与解析2016下半年软考即将开始,小编为大家整理了一些软考软件设计师笔记讲义之基础习题,希望对大家有所帮助。

单项选择题1.二进制语言是属于()①面向机器语言②面向问题语言③面向过程语言④面向汇编语言【解】人们研制了许许多多计算机程序设计语言,其中二进制语言直接来自计算机的指令系统,与具体计算机紧密相关,所以是一种面向机器语言。

面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。

面向过程语言是一种能方便描述算法过程的计算机程序设计语言。

有汇编语言,但没有面向汇编语言。

汇编语言也是一种面向机器的语言,与机器语言比较,汇编语言用有助于记忆的符号来代表二进制代码。

所以解答是①。

2.下列语言中不属于面向过程的语言是()①高级语言②低级语言③C语言④PASCAL语言【解】C语言和PASCAL等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言。

低级语言是指机器语言和汇编语言,低级语言是面向机器的语言,而不是面向问题的语言。

所以解答是②。

3.下列字符中属于键盘符号的是()①\②\n③\t④\b【解】键盘符号是指键盘上有标记,并能在显示器上直接以其标记字样显示的字符。

有许多键盘上有标记的符号,它们不是用于直接显示的,键入这种字符用于表示特定的意义,如常用的回车符。

为了能让C程序标记这种符号,程序采用转义字符的方式书写这种字符。

如\n、\t、\b都不是键盘字符,在C语言中,它们都得用转义字符来表达。

只有字符\才是键盘字符。

所以解答是①。

但在C程序中,反斜杠字符\已特别用作转义字符的引导符,它也得用转义字符的表达形式书写,将它写成’\\’。

4.下列字符列中,不是用来表达转义字符是()①\\②\③074④\0【解】转义字符有三种书写形式:反斜社字符后接上某个规定的字符;反斜杠字符后接上13个八进制数字符;反斜社字符和字符X之后接上1至2个十六进制数字符。

2023年软考软件设计师教程试题分析加答案

2023年软考软件设计师教程试题分析加答案

软考软件设计师教程试题分析加答案软件设计师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试。

考试不设学历与资历条件,也不管年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。

考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试办法。

下面是希赛小编整理的软考软件设计师考前必做的练习题。

试题一分析本题重要考察类图和顺序图。

【问题1】需要分析此门禁系统的体系结构,根据体系结构的描述来看什么数据放在什么类中最为合适。

题目中提到:系统中的每个电控锁都有一个唯一的编号。

锁的状态有两种:"已锁住"和"未锁住"。

所以Lock中具有锁编号和锁状态这两个属性。

又由于题中有:在主机上可以设立每把锁的安全级别以及用户的开锁权限。

只有当用户的开锁权限大于或等于锁的安全级并且锁处在"已锁住"状态时, 才干将锁打开。

因此,Lock中尚有锁的安全级别。

【问题2】一方面,(1)、(2 )是FingerReader 和LockController 之间的交互。

所以我们看题目中是如何描述他们的交互的。

题目中有"指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹",所以(1)应填"中断事件”,(2 )应填"读取指纹〃。

(3 )是主机与Userinfo的交互,从图2-35中可以看出,Userlnf。

中存储了用户的指纹信息和开锁权限,所以(3 )应是从工资系统交互,但是由"对于注册工资支付的顾客生成付费请求并发送给工资系统"可知,工资支付是由工资系统控制,所以注册也需要和工资系统交互。

【问题3】在顾客订餐过程的描述中,在〃顾客选菜”之前,图中缺少符号和活动。

由说明中顾客〃可以订餐(假如未登录,需先登录)"可以判断,在系统”显示菜单和今日特价〃之后〃顾客选菜”之前,需要判断(鉴定符号<〉)当前用户身份是否为顾客,假如不是,需先登录;由"……发送E-mail给顾客以确认订餐,同时发送相关订餐信息告知给餐于员工〃可知,发送E-mail和告知餐厅员工为并行活动,需要在前后有同步条(或纵向)。

软件设计师考试题及答案

软件设计师考试题及答案

软件设计师考试题及答案一、单项选择题(每题2分,共10题)1. 在软件开发过程中,需求分析阶段的主要任务是什么?A. 设计软件的界面B. 确定软件的功能需求C. 编写软件代码D. 进行软件测试答案:B2. 面向对象编程中,封装的主要目的是什么?A. 提高代码的运行效率B. 增加代码的可读性C. 隐藏对象的内部状态和实现细节D. 简化编程语言的语法答案:C3. 在数据库设计中,范式理论的主要作用是什么?A. 提高数据库的存储容量B. 优化数据库的查询性能C. 确保数据库的逻辑结构合理,减少数据冗余D. 增加数据库的安全性答案:C4. 软件工程中,敏捷开发方法的核心思想是什么?A. 强调文档的完整性B. 强调严格的开发流程控制C. 强调快速迭代和客户反馈D. 强调使用统一的开发工具答案:C5. 在软件测试中,黑盒测试主要关注什么?A. 程序的内部逻辑B. 程序的代码质量C. 程序的功能是否符合需求D. 程序的运行效率答案:C二、多项选择题(每题3分,共5题)1. 软件设计师在设计软件架构时,需要考虑哪些因素?A. 系统的可扩展性B. 系统的安全性C. 系统的维护性D. 系统的用户体验答案:ABCD2. 在软件开发过程中,哪些文档是必须编写的?A. 需求规格说明书B. 设计文档C. 用户手册D. 测试报告答案:ABCD3. 面向对象设计中,继承的主要优点包括哪些?A. 代码复用B. 增加系统的复杂性C. 提高系统的可维护性D. 促进多态性的实现答案:ACD4. 在数据库设计中,哪些措施可以提高数据库的安全性?A. 使用加密技术B. 实施访问控制C. 定期备份数据D. 使用防火墙技术答案:ABC5. 软件测试中,哪些方法属于白盒测试?A. 语句覆盖B. 条件覆盖C. 路径覆盖D. 边界值分析答案:ABC三、简答题(每题5分,共2题)1. 请简述软件需求分析的重要性。

答:软件需求分析是软件开发过程中的关键步骤,它确保了软件开发团队对用户需求有准确和全面的了解。

软件水平考试《软件设计师》历年真题及答案汇总

软件水平考试《软件设计师》历年真题及答案汇总

软件水平考试《软件设计师》历年真题及答案汇总软件水平考试《软件设计师》历年真题及答案(1)1.通常在软件的( )活动中无需用户参与。

A. 需求分析B. 维护C. 编码D. 测试参考答案:C2.( )详细描述软件的功能、性能和用户界面,以使用户了解如何使用软件。

A. 概要设计说明书B. 详细设计说明书计C. 用户手册D. 用户需求说明书参考答案:C3.下述任务中,不属于软件工程需求分析阶段的是( )。

A.分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台参考答案:D4.在开发信息系统时,用于系统开发人员与项目管理人员沟通的主要文档是( )。

A. 系统开发合同B. 系统设计说明书C. 系统开发计划D. 系统测试报告参考答案:B5.系统测试人员与系统开发人员需要通过文档进行沟通,系统测试人员应根据一系列文档对系统进行测试,然后将工作结果撰写成( ),交给系统开发人员。

A. 系统开发合同B. 系统设计说明书C. 测试计划D. 系统测试报告参考答案:D6.常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。

其中( )模型适用于需求明确或很少变更的项目,( )模型主要用来描述面向对象的软件开发过程。

A.瀑布模型B.演化模型C.螺旋模型D.喷泉模型参考答案:A、D7.在开发一个系统时,如果用户对系统的目标是不很清楚,难以定义需求,这时最好使用( )。

A.原型法瀑布模型 C.V-模型 D.螺旋模型参考答案:A8.采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。

以下关于产生这些文档的描述中,正确的是( )。

A.外部设计评审报告在概要设计阶段产生。

B.集成测评计划在程序设计阶段产生。

C.系统计划和需求说明在详细设计阶段产生。

D.在进行编码的同时,独立的设计单元测试计划参考答案:D9.( )是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。

计算机软考:软件设计师练习试题及答案解析(3)

计算机软考:软件设计师练习试题及答案解析(3)

计算机软考:软件设计师练习试题及答案解析(3) 41.不是C语⾔提供的合法关键字是(46) (45)A. switch B. begin C. case D. default 参考答案:(46)B。

解析:因C语⾔的关键字表中没有begin,它不是C语⾔的关键字。

所以解答是B。

42.下列字符列中,能作为单个标识符是(47) (47)A. ?a B. a=2 C. a.3 D.a___3 参考答案:(47)D。

解析:在C语⾔中,规定标识符是这样⼀种字符序列,由英⽂字母或下线字符开始,后接任1个英⽂字母、下线字符和数字符组成。

所以问题所列的字符列只有a_3是标识符,其余都l是标识符,⼀个是由字符’?’开头、⼀个中间有字符’=’,另⼀个有字符’.’。

所以解答是D。

43.在C语⾔中,下列说法中错误的是(48) (47)A. 函数定义可以分为两个部分:函数说明部分和函数体 B. 主函数可以调⽤任何⾮主函数 C. 任何⾮主函数可以调⽤其它任何⾮主函数 D. 程序可以从任何函数开始执⾏ 参考答案:(48)D。

解析:每个C函数的定义分两部分,函数说明部分和函数体,所以叙述①是正确的叙述。

C语⾔中,函数可以递归调⽤,主函数可以调⽤程序中的任何函数,当然可以调⽤任何⾮主教的其它函数,所以叙述②是⼀个正确的叙述。

同样理由,叙述③也是正确的。

C语⾔规,C程序只有⼀个主函数,并总是从主函数开始执⾏,不能从⾮主函数开始执⾏。

所以,说程可以从任何函数开始执⾏是错误的。

所以解答是D。

44. 为了直观地分析系统的动作,从特定的视点出发描述系统的⾏为,需要采⽤动态分析的⽅法。

其中, (49) 适⽤于描述与分析相互独⽴、协同操作的处理系统,也就是并发执⾏的处理系统。

(49) A.状态迁移图 B.时序图 C.Petri D.HIPO图 参考答案:(49)C。

解析:为了直观地分析系统的动作,从特定的视点出发描述系统的⾏为,需要采⽤动态分析的⽅法。

2020年下半年软件设计师真题+答案解析完整版(全国计算机软考)

2020年下半年软件设计师真题+答案解析完整版(全国计算机软考)

2020年下半年软件设计师真题+答案解析上午选择1、在程序执行过程中,高速缓存(Cache)与主存间的地址映射由()。

A.操作系统进行管理B.操作系统进行管理C.程序员自行安排D.硬件自动完成答案:DCache与主存地址映射由硬件完成。

2、计算机中提供指令地址的程序计数器PC在()中。

A.控制器B.运算器C.存储器D.I/O设备答案:APC是控制器中的子部件。

3、以下关于两个浮点数相加运算的叙述中,正确的是().A.首先进行对阶,阶码大的向阶码小的对齐B.首先进行对阶,阶码小的向阶码大的对齐C.不需要对阶,直接将尾数相加D.不需要对阶,直接将阶码相加答案:B浮点数运算的过程:对阶→尾数运算→规格化。

其中对阶的过程:小数向大数看齐,尾数右移。

4、某计算机系统的CPU主频为2.8GHz。

某应用程序包括3类指令,各类指令的CPI(执行每条指令所需要的时钟周期数)及指令比例如’下表所示。

执行该应用程序时的平均CPI为(4);运算速度用MIPS表示,约为(5)。

A.25B.3C. 3.5D.4答案:C5、A.700B.800C.930D.1100答案:B第一问关于平均CPI,即对列出的CPI求平均数。

4*35%+2*45%+6*20%=3.5。

第二问求MIPS,即每秒执行的百万条指令数。

根据第一问CPI,每条指令需要的时钟周期为4,每个时钟周期为主频的倒数,即1/2.8G秒,则每条指令需要时间3.5/2.8G秒。

每秒执行指令数为1/(3.5/2.8G)=2.8G/3.5=0.8G=800M。

(1M=106,1G=109)6、中断向量提供().A.函数调用结束后的返回地址B.I/O设备的接口地址C.主程序的入口地址D.中断服务程序入口地址答案:D中断向量就是指中断服务程序的入口地址,它存放着一条跳转到中断服务程序入口地址的跳转指令。

7、以下关于认证和加密的叙述中,错误的是()。

A.加密用以确保数据的保密性B.认证用以确保报文发送者和接收者的真实性C.认证和加密都可以阻止对手进行被动攻击D.身份认证的目的在于识别用户的合法性,阻止非法用户访问系统答案:C认证一般有账户名/口令认证、使用摘要算法认证和基于PKI的认证。

2021软考中级软件设计师历年经典真题及解析part11

2021软考中级软件设计师历年经典真题及解析part11

第1题单选题以下的算法设计方法中,()以获取问题最优解为目标。

A.回溯方法B.分治法C.动态规划D.递推【解析】正确答案:C。

本题考查算法基础知识。

回溯法的实质是在包含问题的所有解的解空间树中,按照深度优先的策略,从根节点出发搜索解空间树。

若进入某子节点的子树后没有找到解(或者需要找出全部解),则需要从子节点回退(回溯)至父节点,从而可以选择其他子节点进行搜索。

回溯法有“通用的解题法”之称,用它可以系统地搜索一个问题的所有解或任一解。

分治与递归就像一对孪生兄弟,经常同时应用于算法设计中。

分治的思路是将一个难以直接解决的大问题分成一些规模较小的相同问题,以便各个击破,分而治之。

如果规模为n的问题可分解成k个子问题,1<k≤n,这些子问题互相独立且与原问题相同。

动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。

与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是独立的。

若用分治法来解这类问题,则相同的子问题会被求解多次,以至于最后解决原问题需要耗费指数级时间。

动态规划算法通常用于求解具有某种最优性质的问题。

在这类问题中,可能会有许多可行解,每个解都对应于一个值,我们希望找到具有最优值(最大值或最小值)的那个解。

第2题单选题随着网站知名度不断提高,网站访问量逐渐上升,网站负荷越来越重,针对此问题,一方面可通过升级网站服务器的软硬件,另一方面可以通过集群技术,如DNS负载均衡技术来解决,在Windows的DNS服务器中通过()操作可以确保域名解析并实现负载均衡。

A.启用循环,启动转发器指向每个Web服务器B.禁止循环,启动转发器指向每个Web服务器C.禁止循环,添加每个Web服务器的主机记录D.启用循环,添加每个Web服务器的主机记录【解析】正确答案:D。

通过DNS服务器实现网络负载均衡则是一种保证用户网络访问的方式。

软考第四版试题及答案解析

软考第四版试题及答案解析

软考第四版试题及答案解析一、选择题1. 在软件工程中,需求分析阶段的主要任务是什么?A. 确定软件的最终用户B. 确定软件的功能需求C. 设计软件的架构D. 编写软件的代码答案:B2. 面向对象编程中,封装的主要目的是什么?A. 隐藏数据B. 重用代码C. 简化程序的复杂度D. 提高程序的运行效率答案:A3. 在软件开发过程中,哪个阶段是进行单元测试的?A. 需求分析B. 设计阶段C. 编码阶段D. 维护阶段答案:C二、填空题1. 软件测试的目的是______,确保软件满足规定的需求并且没有缺陷。

答案:验证和验证2. 在敏捷开发方法中,______是核心实践之一,它帮助团队保持对项目进展的持续关注。

答案:每日站立会议3. 数据库管理系统(DBMS)的主要功能是______、存储和管理数据。

答案:组织三、简答题1. 请简述软件危机的概念及其产生的原因。

答案:软件危机是指在软件开发过程中遇到的一系列问题,如项目延期、成本超出预算、软件质量低下等。

产生的原因包括需求不明确、技术不断变化、缺乏有效的项目管理方法等。

2. 解释什么是软件重用,并说明其优点。

答案:软件重用是指在新的软件开发过程中,利用已有的软件组件或代码来减少开发时间和成本。

其优点包括提高开发效率、降低成本、减少错误和提高软件质量。

四、案例分析题阅读以下案例,并回答问题:案例描述:某公司开发了一个在线购物平台,但在用户测试阶段发现了许多问题,包括登录功能不稳定、支付流程复杂等。

项目经理决定采用敏捷开发方法来改进这些问题。

问题:1. 项目经理应该采取哪些措施来应对这些问题?2. 敏捷开发方法如何帮助解决这些问题?答案:1. 项目经理应该首先与用户沟通,明确需求,然后组织团队进行迭代开发,快速响应用户反馈,不断优化功能。

2. 敏捷开发方法通过短周期的迭代开发,允许团队快速适应变化,及时调整开发方向,从而有效解决用户提出的问题。

五、论述题请论述软件项目管理的重要性及其在实际开发中的应用。

软件设计师试题及答案

软件设计师试题及答案

软件设计师试题及答案一、单项选择题(每题2分,共10题,共20分)1. 在软件开发过程中,需求分析阶段的主要任务是()。

A. 确定软件的功能需求B. 编写软件代码C. 进行软件测试D. 部署软件答案:A2. 下列关于软件生命周期的描述,不正确的是()。

A. 软件生命周期包括需求分析、设计、编码、测试和维护B. 软件生命周期的每个阶段都有明确的目标和任务C. 软件生命周期的每个阶段都是独立的,不需要与其他阶段交互D. 软件生命周期的每个阶段完成后,都需要进行评审答案:C3. 在面向对象编程中,封装的目的是()。

A. 提高代码的重用性B. 隐藏对象的实现细节C. 提高程序的执行效率D. 简化程序的复杂度答案:B4. 下列关于软件测试的描述,错误的是()。

A. 软件测试的目的是发现软件中的错误B. 软件测试可以证明软件没有错误C. 软件测试是软件开发过程中的一个重要环节D. 软件测试应该贯穿于软件开发的整个周期答案:B5. 在软件开发中,模块化设计的主要优点是()。

A. 降低软件的复杂性B. 提高软件的运行速度C. 增加软件的可读性D. 以上都是答案:D6. 下列关于数据库管理系统的描述,正确的是()。

A. 数据库管理系统是用于管理数据的软件B. 数据库管理系统可以提高数据的安全性C. 数据库管理系统可以提高数据的一致性D. 以上都是答案:D7. 在软件开发过程中,迭代开发模式的主要优点是()。

A. 可以快速得到软件原型B. 可以减少开发周期C. 可以提高软件的稳定性D. 以上都是答案:D8. 在面向对象编程中,继承的主要用途是()。

A. 实现代码的重用B. 实现多态性C. 实现封装性D. 实现抽象化答案:A9. 在软件开发中,敏捷开发方法的核心思想是()。

A. 以文档为中心B. 以人为中心C. 以过程为中心D. 以工具为中心答案:B10. 在软件开发过程中,版本控制的主要作用是()。

A. 管理软件的发布版本B. 跟踪软件的变更历史C. 管理软件的测试版本D. 以上都是答案:D二、多项选择题(每题3分,共5题,共15分)1. 下列关于软件设计的描述,正确的是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软考软件设计师教程试题分析加答案软件设计师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试。

考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。

考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试办法。

下面是希赛小编整理的软考软件设计师考前必做的练习题。

试题一分析本题主要考查类图和顺序图。

【问题1】需要分析此门禁系统的体系结构,根据体系结构的描述来看什么数据放在什么类中最为合适。

题目中提到:系统中的每个电控锁都有一个唯一的编号。

锁的状态有两种:“已锁住”和“未锁住”。

所以Lock中含有锁编号和锁状态这两个属性。

又因为题中有:在主机上可以设置每把锁的安全级别以及用户的开锁权限。

只有当用户的开锁权限大于或等于锁的安全级并且锁处于“已锁住”状态时,才能将锁打开。

因此,Lock中还有锁的安全级别。

【问题2】首先,(1)、(2)是FingerReader和LockController之间的交互。

所以我们看题目中是如何描述他们的交互的。

题目中有“指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹”,所以(1)应填“中断事件”,(2)应填“读取指纹”。

(3)是主机与UserInfo的交互,从图2-35中可以看出,UserInfo中存储了用户的指纹信息和开锁权限,所以(3)应是从UserInfo读取用户的指纹信息和开锁权限。

(4)空应填“读取锁的安全级别”。

(5)是MainFrame向自己发送的一条消息,从题目中的“主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于已锁住状态,则将锁打开;否则系统报警”可以看出,主机在得到所有信息后要判断用户是否能开锁,所以(5)应填“判断用户是否能开锁”。

【问题3】这是纯理论题,请直接阅读参考答案。

试题一参考答案【问题1】锁的编号、安全级别、锁的当前状态。

【问题2】(1)中断事件(2)读取用户指纹(3)读取用户开锁权限(4)读取锁的安全级别(5)判断用户是否有权限开锁,或用户是否可以开锁【问题3】组装和聚集都表示实例之间的整体/部分关系。

组装是聚集的一种形式。

聚集是概念性的,只是区分整体与部分。

组装具有很强的归属关系,而且整体与部分的对象生存周期是一致的。

试题二分析本题考查的是UML类图和顺序图的基本知识。

【问题1】由于一个商品分类中可以有多个商品,而一个商品仅仅对应一个商品分类,所以商品分类与商品之间的关系是1:0..*,即第(1)空填“0..*”,第(2)空填“1”。

促销活动与商品之间的关系是这样的:一个促销活动至少得有一种促销商品,否则就无法成为促销活动;而一种商品可以参与多个促销活动,所以促销活动与商品之间的关系有些特别,应是0..*:1..*,故第(3)空填“0..*”,第(4)空填“1..*”。

再看订单与促销活动之间的关系:由于题目中说明“用户可选择参与某一个促销(Promotion)活动”,同时对于一个促销活动可以有多个客户下订单,所以它们之间的关系为1:0..*,所以第(5)空填“1”,第(6)空填“0..*”。

【问题2】在顺序图中,消息的执行顺序为:在垂直方向自上至下地执行,其中的虚线表示消息结果的返回。

在图2-38中,包含着两个操作,第一个操作是得到某个商品的信息,其流程是:先在商品分类列表中找到相应的分类,再从分类中找到具体的商品,从此商品对应的类中得到相应信息。

所以第(7)空应填“getCategories”,第(8)空应填“getCommodities”。

第二个操作是创建一次促销活动,并为其指定促销品,所以第(9)空应填“createPromotion”,第(10)空应填“addCommodities”。

【问题3】这是一个纯理论问题,请直接阅读参考答案。

试题二参考答案【问题1】(1)0..n或1..n(2)1(3)0..n(4)1..n(5)1(6)0..n【问题2】(7)getCategories(8)getCommodities(9)createPromotion(10)addCommodities【问题3】关系:聚集(聚合)是关联的特例。

(聚集是关联的一种)不同点:聚集表示部分与整体关系的关联。

试题三分析本题考查类图和状态图。

【问题1】根据“每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家及演奏这首歌曲的艺术家”和图2-39中类A与类B之间约束为“编写”、“演奏”,所以类A与类B只能是艺术家和歌曲,又根据图上标示的关联关系(1,0..*),可以确定类A为艺术家(Artist);类B为歌曲(Song)。

类B与类E之间是聚集关系,根据题中“一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上”,可以得到类E为音轨(Track)。

接下来看类E与类F之间存在组成的关系,根据“每张唱片由多条音轨构成”得到,类F为唱片(Album)。

再来看类C和类D,它们与类A存在泛化关系,根据“艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队”可知,类C与类D为歌手和乐队,又因为类C与类D存在聚集关系,根据题中“一名歌手可以不属于任何乐队,也可以属于一个或多个乐队”可知,类C为乐队(Band),类D为歌手(Musician)。

【问题2】类C为乐队,类D为歌手,题中“一支由2名或2名以上的歌手所组成的乐队。

一名歌手可以不属于任何乐队,也可以属于一个或多个乐队”,则第(1)空应填“0..*”,第(2)空应填“2..*”。

类B与类E存在聚集关系,题中“一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上”,所以第(3)空应填“0..1”,第(4)空应填“1..*”。

类E与类F存在泛化关系,题中“每张唱片由多条音轨构成”,所以第(5)空应填“1..*”,第(6)空应填“1”。

特别要说明一下,是“0..*”还是“1..*”,要看表述和实际情况,比如第(5)空,一张唱片至少有几条音轨,当然至少有一条,否则就不是唱片了,故是从1开始的。

【问题3】本问题考查的是类/对象关联中的一种特殊关联:递归关联,它描述的是同一个类的不同实例之间的关系。

而类Track的不同实例之间恰好具有这种关系(因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么)。

所以缺少的那条联系的两端都是类Track,其多重度都为0..1。

下限为0,是对应不存在上一条或下一条音轨的情况。

【问题4】问题4给定了两个状态“关闭”和“播放”,要求找出从“关闭”到“播放”的最短事件序列。

这就要求我们能够在状态图上找到连接这两个状态的最短迁移,然后将迁移上的事件记录下来就可以了。

从“关闭”状态到“播放”状态可以选择经过迁移“连接电脑”到达“联机”状态,再经过迁移“断开连接”到达状态“打开”,再从“打开”状态的初始状态“歌曲待选”,经过迁移“选择歌曲”到达“播放状态”。

这样经过的事件序列为:连接电脑电量饱和/完成复制断开连接选择歌曲。

显然这样的事件序列远比“关闭”经过“按任意键”直接到达“打开”状态要长得多。

所以从“关闭”到“播放”的最短事件序列是:按任意键,选择歌曲。

试题三参考答案【问题1】A:ArtistB:SongC:BandD:MusicianE:TrackF:Album【问题2】(1)0..*(2)2..*(3)0..1(4)1..*(5)1..*(6)1【问题3】【问题4】按任意键,选择歌曲。

试题四分析题目以希赛公司在线会议审稿系统为例,考查考生对UML用例图与活动图的掌握情况。

【问题1】题目已经给出了4类参与者:用户、作者、审稿人、委员会主席,关键在于弄清楚各个参与者之间的关系,这些关系是通过题目中的系统功能描述来获得的。

(1)“用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人”,从此处可以得知系统中的用户分成了两类:作者和审稿人。

(2)“会议委员会主席是一个特殊审稿人”。

从上面两个条件得知:A1对应用户,A2对应作者,A3对应审稿人,A4对应会议委员会主席。

同时由于UML图中不允许出现中文,且题目明确要求用英文名称给出A1~A4所对应的参与者,所以A1~A4处应分别填写User、Author、Reviewer和PCChair。

【问题2】由“会议委员会主席是一个特殊审稿人,可以浏览提交的稿件,给审稿人分配稿件,罗列录用和(或)拒绝的稿件,以及关闭审稿过程”结合“用例名称列表”可以得知:会议委员会主席能操作的功能有浏览提交的稿件、分配稿件给审稿人、罗列录用或/和拒绝的稿件、关闭审稿过程。

而从“其中关闭审稿过程须包括罗列录用和(或)拒绝的稿件”可以看出,用例“关闭审稿过程”与“罗列录用或/和拒绝的稿件”之间有包含关系。

从这个关系可以得知,U1对应的用例为:罗列录用或/和拒绝的稿件。

同时(2)对应的关系为包含关系,即U1应填“listaccepted/rejectedpapers”,(2)应填“>”。

这样,剩余的两项功能“浏览提交的稿件”和“分配稿件给审稿人”对应的为U2与U3,所以U2和U3分别应填“browsesubmittedpapers”和“assignpapertoreviewer”。

【问题3】该小题考查考生对包含与扩展关系的理解。

在对问题2的分析中,已经得出(2)填“>”。

现在来看(1),该空是填“登录”与“提交稿件”之间的关系,在提交稿件时,若用户已经登录,则可直接提交;但如果用户没有登录,则需要先登录再提交,所以它们之间的关系应是扩展关系,即(1)应填“>”。

【问题4】该活动图所描述的是作者提交稿件的过程,对此过程题目有详细的描述:“作者登录(login)后提交稿件和浏览稿件审阅结果。

提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置(存储位置)。

上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。

”,所以Action1~Action4分别对应:输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置、上传稿件。

所以Action1~Action4分别填:entertitleandabstract、selectsubjectgroup、selectpaperlocation 和uploadpaper。

试题四参考答案【问题1】A1:UserA2:AuthorA3:ReviewerA4:PCChair【问题2】U1:listaccepted/rejectedpapersU2:browsesubmittedpapersU3:assignpapertoreviewer注:U2和U3的答案可互换【问题3】(1)>(2)>【问题4】Action1:entertitleandabstractAction2:selectsubjectgroupAction3:selectpaperlocationAction4:uploadpaper试题五分析本题考查面向对象系统开发时,采用UML模型进行建模的方法。

相关文档
最新文档