易混淆点:原、反、补码的运算

1、原码:最高位是符号位,其余低位表示数值的绝对值(0表示正数,1表示负数)。

2、反码:正数的反码与原码相同,负数的反码是其绝对值按位取反(符号位不变)。

3、补码:正数的补码与原码相同,负数的补码是其反码末位加1(符号位不变)。

4、移码:补码的符号位按位取反。

易混淆点:寻址方式的对比

1、立即寻址方式:操作数直接在指令中,灵活性差,但速度最快。

2、直接寻址方式:指令中存放的是操作数的地址。

3、间接寻址方式:指令中存放了一个地址,这个地址对应的内容是操作数的地址。

4、寄存器寻址方式:操作数存放在寄存器中,指令指定寄存器号。

5、寄存器间接寻址方式:寄存器内存放的是操作数的地址。

易混淆点:数据传输方式

1、程序控制(查询)方式:分为无条件传送和程序查询方式两种。方法简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率。

2、程序中断方式:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。

3、DMA方式:DMA方式是为了在主存与外设之间实现高速、批量数据交换而设置的,DMA方式比程序控制方式与中断方式都高效。

易混淆点:可靠性、可用性、可维护性

1、可靠性可以用MTTF/(1+MTTF)来度量。

2、可用性可以用MTBF/(1+MTBF)来度量。

3、可维护性可以用1/(1+MTTR)来度量。

4、相关参数计算

(1)失效率计算

比如:假设同一型号的1000台计算机,在规定的条件下工作1000小时,其中10台故障。

其失效率λ=10/(1000*1000)=1*10-5

(2)千小时可靠度计算

千小时可靠性R(t)=1-t*λ=1-1000*(1*10-5)=1-0.01=0.99

易混淆点:页式存储、段式存储和段页式存储

1、页式存储:将程序与内存均划分为同样大小的块,以页为单位将程序调入内存。

2、段式存储:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。

3、段页式存储:段式与页式的综合体。先分段,再分页。1个程序有若干个段,每个段中可以有若干页,每个页的大小相同,但每个段的大小不同。

易混淆点:扫描算法(SCAN)和单向扫描算法(CSCAN)

1、扫描算法:又称电梯调度算法,磁头在磁盘表面移动时,先沿一个方向移动(如从盘片外侧向内侧移动),并在移动过程中依次处理该方向上所有未完成的磁盘请求;当磁头移动到磁盘最内侧或最外侧(即该方向上没有其他请求)时,改变移动方向,继续处理另一方向上的请求。

2、单向扫描算法:磁头始终沿一个方向移动(如从盘片外侧向内侧移动),在移动过程中处理该方向上所有未完成的磁盘请求;当磁头移动到磁盘最内侧后,不是改变方向继续处理,而是快速返回到磁盘最外侧起始端,然后再次沿同一方向(内侧方向)移动,重复上述过程。返回时不处理任何请求,仅为了重新开始下一轮单向扫描。

易混淆点:编译与解释

1、解释程序,也称解释器;直接解释执行源程序,或者将源程序翻译成某种中间代码后再加以执行。

2、编译程序,也称编译器;将源程序翻译成目标语言程序,然后在计算机上运行目标程序。

3、两者的根本区别:编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程,因此执行时效率较高;解释方式下,解释程序和源程序(或某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序,边解释边执行,执行效率较低。即:解释方式,翻译程序不生成独立的目标程序,而编译方式则生成独立保存的目标程序。

易混淆点:子串和子序列

1、子串:由串中任意长度的连续字符构成的序列称为子串。含有子串的串称为主串。子串在主串中的位置是指子串首次出现时,该子串的第一个字符在主串中的位置。空串是任意串的子串。

2、子序列:一个串的“子序列”是将这个串中的一些字符提取出来得到一个新串,并且不改变它们的相对位置关系。

子串要求连续,而子序列要求不改变相对位置即可,例如:ABC的子串为AB,BC,而子序列可以为AC。

易混淆点:内聚性

软件设计的原则:高内聚、低耦合

(内聚性)

偶然聚合:模块完成的动作之间没有任何关系,或者仅仅是一种非常松散的关系。

逻辑聚合:模块内部的各个组成在逻辑上具有相似的处理动作,但功能用途上彼此无关。

时间聚合:模块内部的各个组成部分所包含的处理动作必须在同一时间内执行。

过程聚合:模块内部各个组成部分所要完成的动作虽然没有关系,但必须按特定的次序执行。

通信聚合:模块的各个组成部分所完成的动作都使用了同一个数据或产生同一输出数据。

顺序聚合:模块内部的各个部分,前一部分处理动作的最后输出是后一部分处理动作的输入。

功能聚合:模块内部各个部分全部属于一个整体,并执行同一功能,且各部分对实现该功能都必不可少。

易混淆点:耦合性

非直接耦合:两个模块之间没有直接关系,它们的联系完全是通过主模块的控制和调用来实现的。

数据耦合:两个模块彼此间通过数据参数交换信息。

标记耦合:一组模块通过参数表传递记录信息,这个记录是某一个数据结构的子结构,而不是简单变量。

控制耦合:两个模块彼此间传递的信息中有控制信息。

外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息。

公共耦合:两个模块之间通过一个公共的数据区域传递信息。

内容耦合:一个模块需要涉及到另一个模块的内部信息。

易混淆点:概要设计与详细设计

1、概要设计

设计软件系统总体结构:基本任务采用某种设计方法,将一个复杂的系统按功能划分成模块;确定每个模块的功能;确定模块之间的调用关系;确定模块之间的接口,即模块之间传递的信息;评价模块结构的质量。

数据结构及数据库设计:在需求分析阶段对数据的组成、操作约束和数据之间的关系进行了描述,概要设计阶段要加以细化,详细设计阶段则规定具体的实现细节。

编写概要设计文档:概要设计说明书、数据库设计说明书、用户手册以及修订测试计划。

评审:对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计的可行性,关键的处理以及外部接口定义的正确性、有效性、各部分之间的一致性等都一一进行评审。

2、详细设计

对每个模块进行详细的算法设计,用某种图形、表格和语言等工具将每个模块处理过程的详细算法描述出来。

对模块内的数据结构进行设计。

对数据库进行物理设计,即确定数据库的物理结构。

其他设计:根据软件系统的类型,还可能需要进行代码设计、输入/输出格式设计,用户界面设计等。

编写详细设计说明书。

评审:对处理过程的算法和数据库的物理结构都要评审。

2026年下半年软考软件设计师备考学习可查看更多!2026年下半年软考考试题库-试题及答案-考试备考

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐