[高频考点]2024年9月软件水平考试考试《(中级) 软件设计师》高频考点学习打卡

|类别:软件水平考试

【单选题】The beauty of software is in its function, in its internal structure, and in the way in which it is created by a team. To a user, a program with just the right features presented through an intuitive and( 71 )interface is beautiful. To a software designer, an internal structure that is partitioned in a simple and intuitive manner, and that minimizes internal coupling is beautiful. To developers and managers, a motivated team of developers making significant progress every week, and producing defect-free code, is beautiful. There is beauty on all these levels. Our world needs software--lots of software. Fifty years ago software was something that ran in a few big and expensive machines. Thirty years ago it was something that ran in most companies and industrial settings. Now there is software running in our cell phones, watches, appliances, automobiles, toys, and tools. And need for new and better software never( 72 ). As our civilization grows and expands, as developing nations build their infrastructures, as developed nations strive to achieve ever greater efficiencies, the need for more and more Software( 73 )to increase. It would be a great shame if, in all that software,there was no beauty. We know that software can be ugly. We know that it can be hard to use, unreliable, and carelessly structured. We know that there are software systems whose tangled and careless internal structures make them expensive and difficult to change. We know that there are software systems that present their features through an awkward and cumbersome interface. We know that there are software systems that crash and misbehave. These are( 74) systems. Unfortunately, as a profession, software developers tend to create more ugly systems than beautiful ones. There is a secret that the best software developers know. Beauty is cheaper than ugliness. Beauty is faster than ugliness. A beautiful software system can be built and maintained in less time, and for less money, than an ugly one. Novice software developers don"t understand this. They think that they have to do everything fast and quick. They think that beauty is( 作答此空 ). No! By doing things fast and quick, they make messes that make the software stiff, and hard to understand, Beautiful systems are flexible and easy to understand. Building them and maintaining them is a joy. It is ugliness that is impractical. Ugliness will slow you down and make your software expensive and brittle. Beautiful systems cost the least build and maintain, and are delivered soonest.

A、impractical

B、perfect

C、time-wasting

D、practical

答案:A

解析:这道题考查的是关于软件的一些特点。 第一段讲述了出色的软件产品针对不同的人群所展现出来的优点,其中对于软件的使用者来说软件应该有良好的架构并且提供一些直观的简单的接口跟用户进行交互。 第二段讲述随着时代的发展,人们需要越来越多的软件,并且对新软件和高质量的软件需求从来没有停止过。 第三段讲述一些软件产品表现出来的问题。 第四段讲述不同开发者看待软件产品的角度也是不相同的,一些不负责任的开发者会认为花精力去创造优秀的产品产品是浪费时间的行为。同时文章中也表达了作者自己的看法


【单选题】用某排序方法对一元素序列进行非递减排序时,若该方法可保证在排序前后排序码相同者的相对位置不变,则称该排序方法是稳定的。简单选择排序法排序方法是不稳定的,(61)可以说明这个性质。

A、21 48 21*63 17

B、17 21 21*48 63

C、63 21 48 21*17

D、21*17 48 63 21

答案:A

解析:本题考查数据结构基础知识。简单选择排序算法的思想是:首先在所有记录中选出码最小的记录,把它与第1个记录交换,然后在其余的记录内选出排序码最小的记录,与第2个记录交换…依次类推,直到所有记录排好序。直接选择排序的平均时间复杂度O(n2),是不稳定的排序。第一趟下来,第一个一定是最小的或者最大关键字。算法程序: /*将数组data中n个整数按非递减有序的方式进行排序*/ void SelectSort(intdate[],intn) { inti,j,k,temp; for(i=0;i<n-1;i++){ k=i;//data[k]表示当前找到的最小数 for(j=i+1;j<n;j++){if(data[j]<data[k])k=j;} if(k!=i){temp=data[i];data[i]=data[k];data[k]=temp;} } } 根据以上算法,A选项的数序列经过4次排序,i=4,使用i<n-1(n-1值为4)不成立而退出整个排序算法。从最终结果看,21*排序之前位于21之后,而排序之后则位于21之前,故A选项可说明简单选择排序是不稳定的算法。同理B、C、D三个选项,排序结果中21*与21的先后顺序与排序前一样,本题选择A选项。


【单选题】请作答(43)UML图中,对新开发系统的需求进行建模,规划开发什么功能或测试用例,采用(42)最适合。而展示交付系统的软件组件和硬件之间的关系的图是(43)。

A、类图

B、部署图

C、组件图

D、网络图

答案:B

解析:本题考查面向对象UML建模语言知识点在UML中,有9种基本的图形其中, 用例图:用例图以图形化的方式描述系统与外部系统及用户的交互,其以图形化的方式描述了谁将使用系统,以及用户期望以什么方式与系统交互,主要用在面向对象需求分析阶段 部署图:部署图描述系统中硬件和软件的物理架构,它描述构成系统架构的软件结构、处理器和设备


【单选题】在某应用中,需要先排序一组大规模的记录,其关键字为整数。若这组记录的关键字基本上有序,则适宜采用( )排序算法。

A、插入

B、归并

C、快速

D、计数

答案:A

解析:插入排序中的希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。所以当数列基本有序时,采用插入排序算法是比较合适的。


【单选题】设有学生实体Students(学号,姓名,性别,年龄,家庭住址,家庭成员,关系,联系电话),其中“家庭住址”记录了邮编、省、市、街道信息;“家庭成员,关系,联系电话”分别记录了学生亲属的姓名、与学生的关系以及联系电话。为使数据库模式设计更合理,对于关系模式Students( )。

A、可以不作任何处理,因为该关系模式达到了3NF

B、只允许记录一个亲属的姓名、与学生的关系以及联系电话的信息

C、需要对关系模式Students增加若干组家庭成员、关系及联系电话字段

D、应该将家庭成员、关系及联系电话加上学生号,设计成为一个独立的实体

答案:D

解析:本题考查关系运算和E-R图的基本概念。在大多数情况下,定义的属性对于一个特定的实体都只有单独的一个值。例如,对于一个特定的学生,只对应一个学生号、学生姓名,这样的属性叫做单值属性。但是,在某些特定情况下,一个属性可能对应一组值。例如,学生可能有0个、1个或多个亲属,那么学生的亲属的姓名可能有多个。这样的属性称为多值属性。为了将数据库模式设计得更合理,第二空应该将家庭成员、关系及联系电话加上学生号设计成为一个独立的实体。


【单选题】

A、2

B、3

C、4

D、5

答案:C

解析:本题考查软件工程McCabe度量法知识点。McCabe度量法是一种基于程序控制流的复杂性度量方法。McCabe复杂性度量又称为环路度量,它认为程序的复杂性很大程度上取决于控制的复杂性。单一的顺序程序结构最为简单,循环和选择所构成的环路越多,程序就越复杂。这种方法以图论为工具,先画出程序图,然后用该图的环路数作为程序复杂性的度量值。程序图是退化的程序流程图,也就是说,把程序流程图中每个处理符号都退化成一个结点,原来连接不同处理符号的流线变成连接不同点的有向弧,这样得到的有向图就叫做程序图。程序图仅描述程序内部的控制流程,完全不表现对数据的具体操作以及分支和循环的具体条件。环形复杂度V(G)的三种计算方法:V(G)=D(D流图中的区域数等于环形复杂度); V(G)=E-N+2(E:流图中边的条数,N:流图中结点数); V(G)=P+1(P:判定结点(有2条输出弧)的数目,有n(n>2)条输出弧的判定结点对应程序中的n-1个判断)。 根据V(G)=D(D流图中的区域数等于环形复杂度)来计算最简单,从本题图中非常容易看出区域数为4,故环形复杂度V(G)为4。本题选择C选项


【单选题】将一条指令的执行过程分解为取指、分析和执行三步,按照流水方式执行,若取指时间t取指=4△t、分析时间t分析=2△t、执行时间t执行=3△t,则执行完100条指令,需要的时间为( )△t。

A、200

B、300

C、400

D、405

答案:D

解析:根据公式(t1+t2+...+tk)+(n-1)*△t,算出一条指令的执行时间+另外99条指令的执行时间=405


【单选题】以下关于指令流水线性能度量的叙述中,错误的是

A、最大吞吐率取决于流水线中最慢一段所需的时间

B、如果流水线出现断流,加速比会明显下降

C、要使加速比和效率最大化应该对流水线各级采用相同的运行时间

D、流水线采用异步控制会明显提高其性能

答案:D

解析:本题考查计算机体系结构中指令流水线部分知识点。指令流水线的概念就是将一条指令分解成一连串执行的子过程,在CPU中变一条指令的串行执行子过程为若干条指令的子过程在CPU中重叠(并行)执行。 流水线的控制方式分为同步流动方式和异步流动方式: 同步流动方式也称为顺序流动方式,指让指令流出流水线的顺序保持与流入流水线的顺序一致。采用该方式,控制结构比较简单,但是如果前面指令和后面指令出现相关,比如后面指令需要前面指令计算的结果才能执行时,那么后面的指令就不能顺利执行,必须等待前面指令将结果计算完成后,后面的指令才能继续执行,整个流水线的吞吐率和效率都要下降。 异步流动方式:指让指令流出流水线的顺序保持与流入流水线的顺序不一致。例如上述前后指令相关的情况下,可使调整指令执行顺序,将前后两条相关指令中间的那些不相关的指令提前执行,而将这两条指令挨在一起执行,但可能会调整顺序后出现其他不可预知的相关,这种情况在同步流动方式中是不会出现的,所以控制机构将会更加复杂,且新出现的相关性不可预知,故说法 D.流水线采用异步控制会明显提高其性能不正确


【单选题】CISC的特点不包括( )

A、支持很多种寻址方式。支持的寻址方式通常为 5~20 种。

B、指令长度不是固定的,变长的指令增加指令译码电路的复杂性。

C、CPU 中的通用寄存器数量多,一般在 32 个以上,有的可达上千个。

D、指令可以对主存单元中的数据直接进行处理。

答案:C

解析:RISC精简指令系统CPU 中的通用寄存器数量多,一般在 32 个以上,有的可达上千个。


【单选题】假设某计算机系统中只有一个CPU、一台输入设备和一台输出设备,若系统中有四个作业T1、T2、T3和T4,系统采用优先级调度,且T1的优先级>T2的优先级>T3的优先级>T4的优先级。每个作业Ti具有三个程序段:输入Ii、计算Ci和输出Pi(i=1,2,3,4),其执行顺序为Ii→Ci→Pi。这四个作业各程序段并发执行的前驱图如下所示。图中①、②分别为

A、l2、P2

B、l2、C2

C、C1、P2

D、C1、P3

答案:C

解析:题目告诉我们一共有3个设备,分别是一个CPU、一台输入设备和一台输出设备,其实输入设备对应程序段输入Ii,而CPU对应程序段计算Ci,输出设备对应程序段输出Pi。而每个作业都分为这三段,各段间有个顺序关系。再结合图中已经给出的结点,我们不难发现,第一行是输入,第二行是计算,而第三行的结点数输出结点。因此可以知道①、②分别为C1、P3,③、④、⑤分别为I3、C4、P4。