【软考】软件设计师plus
「软件设计师」 2022年下半年上午真题解析视频
计算机系统知识
22下
考点:指令系统之CISC vs RISC
RISC指令系统整体特点是简单、精简
==》指令种类少,但是指令功能强
考点:计算机系统组成
A属于运算器,C属于控制器,D两者皆有
- CPU
- 运算器:实现算术运算(加减乘除等)和逻辑运算(与或非等)
- ALU算术逻辑单元:通过内部复杂的电路实现算术运算和逻辑运算
- PSW状态条件寄存器:保存指令运行标志
- ACC累加器:用于存放操作数或运算结果
- MQ乘商寄存器:在乘、除运算时,用于存放操作数或运算结果
- X通用的操作数寄存器:用于存放操作数
- DR数据缓存寄存器
- 控制器
- CU控制单元:分析指令,给出控制信号
- IR指令寄存器:存放当前执行的指令
- PC程序计数器:存放下一条指令地址,有自动加一功能
- AR地址寄存器:保存当前CPU所访问的内存单元地址
- ID指令译码器:对操作码进行分析
- 运算器:实现算术运算(加减乘除等)和逻辑运算(与或非等)
考点:计算机可靠性
串联部件的可靠性 = 各部件可靠度的乘积
并联部件的可靠性 = 1 - 各部件失效度的乘积
其中 失效度 = 1 - 可靠度
考点:存储系统
DRAM需要周期性刷新
- 存储器(易失性)
- ram易失性
- sram(静态RAM)==》常用作cache
- 不需要刷新
- 用触发器存储信息,不是破坏性读出,读出后不用再生数据
- 运行速度块,发热量大,集成度低
- 存储成本高
- 同时送行列地址
- dram(动态RAM)==》常用作主存
- 需要刷新(方式有分散、集中、异步)
- 用电容存储信息,破坏性读出,读出后需要重写(再生)数据
- 运行速度慢,发热量小,集成度高
- 存储成本低
- 分两次送(地址线复用技术)行列地址
- sram(静态RAM)==》常用作cache
- rom非易失性
- MROM掩膜式只读存储器:存储内容由半导体制造厂按用户提出的要求在芯片的生产过程中直接写入,无法修改。
- PROM一次可编程只读存储器:存储内容由用户用专门的设备(编程器)一次性写入,之后无法修改
- EPROM可擦除可编程只读存储器:修改次数有限,写入时间很长
- Flash Memory闪存:写入速度较快,例如U盘
- SSD固态硬盘:控制单元+flash芯片
- ram易失性
考点:数据表示之浮点数
阶码越长==》范围越大,精度越低
尾数越短==》范围越小,精度越高
考点:数据表示之不同码值的运算
数据结构与算法
22下
考点:栈
栈是操作受限的线性表,先进后出
A 1到6全部入栈,再出栈,依次为6,5,4,故可行
B 1和2入栈,2出栈;3入栈再出栈;4入栈再出栈,故可行
C 要想3首个出栈,再一定是1和2都压入栈不出,就一定不能有1出栈而2不出栈(违背先进后出),故不可能
D 3入栈再出栈,再入栈4,5;然后再去出栈5,4,故可行
考点:二叉树的遍历
中序遍历:左根右
D m在n的右边,n可能是祖先节点m的左孩子 或者m是n的右兄弟,或者是n是m的左子树中的元素,都满足在中序遍历时n排在m之前
考点:图的存储结构
邻接矩阵的规模是n*n
考点:查找之B树的基本特性
A、B树根节点的子树[2, m]
B、B树的所有叶节点都在同一层
C、B树别名多路平衡查找树,一个节点中的关键字有序排列
D、B树中的叶节点压根不带信息,B+树中才是能够通过指针链接为有序表
考点:排序
内部排序中,平均性能最好的是快排,占用空间最多的是归并
考点:查找之折半查找
考点:最短路径之Dijkstra
计网
22下
考点:七层网络体系结构之每层对应的设备
- 物理层:中继器、集线器
- 数据链路层:网桥、交换机、网卡
- 网络层:三层交换机、路由器
- 传输层:TCP、UDP
考点:Internet服务
考点:Internet服务
考点:
- DNS域名解析协议:域名(网址)和IP地址相互映射
- ARP地址解析协议: IP地址转物理地址
- RARP反地址解析协议:物理地址转IP地址
考点:
- IPv4中地址长度为32位,例如127.0.0.1
- IPv6中地址长度为128位
- MAC地址长度为48位
OS
22下
考点:进程的状态与转换
“强行撤下正在运行的进程所占用的CPU,让具有更高优先级的进程运行”
==>可剥夺的运行方式
考点:前驱图
考点:段页式管理
一个很不容易察觉(low)的坑点:段大小均为 vs 段最大允许有。和408还是友好和奇怪一些的,不要想当然
考点:文件管理之磁盘
一个块的文件读取时间(21)=寻道时间(52)+延迟时间(10)+传输时间(1)
==>100个的时间为21100
数据库系统
22下
考点:E-R 模型转关系模型
- 一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码(关键字)就是关系的码
- 一个1:1联系可以转换为一个独立的关系模式,也可以和任意一端对应的关系模式合并。
- 若转化为一个独立的模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码
- 若与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性
- 一个1:n联系可以转换为一个独立的关系模式,也可以和任意n端对应的关系模式合并。
- 若转换为一个独立的模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。若和n端实体对应的关系模式合并,则需要在该关系模式的属性中加入1端关系模式的码和联系本身的属性
- 一个m:n联系转换为一个独立的关系模式,和该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合
- 三个以上实体间的一个多元联系可以转换为一个独立的关系模式,和该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
考点:关系数据库的规范化
岗位->薪资,则T中同时有岗位又有薪资冗余了
插入异常,例如说新增了一个岗位但是暂时还没有任职的老师,再会产生插入异常
删除异常同理,当某个岗位只有一个人且这个人还要离职时,随着该老师的记录删除,对应的岗位也不存在了
教师号->岗位,岗位->薪资
==>则存在传递依赖,最高能达到2NF(联想,若存在部分依赖,最高能达到1NF)
考点:关系代数之七种基本运算
明确对哪一个属性进行选择
明确对哪一个关系进行查询
明确对哪些属性进行投影
考点:数据库的控制功能之故障类型
- 数据库中的四类故障:
- 事务内部故障
事物内部的故障有的可以通过事务程序本身发现。例如,银行转账事务,把账号A的金额转X到账号B,此时应该把账号A的余额-X,把账号B的余额+X。若账号A的余额不足,则两个事务都不做,否则都做。
但有些是非预期的,不能由事务程序处理,例如运算溢出、并发事务发生死锁等 - 系统故障
通常称为软故障,是指造成系统停止运行的任何事件,使得系统要重新启动,例如CPU故障、OS故障和突然停电等。 - 介质故障
通常称为硬故障,如磁盘损坏、磁头碰撞和瞬时强磁干扰。此类故障发生几率小,但破坏性最大 - 计算机病毒
计算机病毒是一种人为的故障和破坏,是在计算机程序中插入的破坏,计算机功能或者数据可以繁殖和传播的一组计算机指令或程序代码
- 事务内部故障
UML
22下
考点:活动图
- 类图展现了一组对象、接口、协作及其之间的关系
- 用例图展现了一组用例、参与者(Actor)以及两者之间的关系
- 活动图展现了系统内从一个活动到另一个活动的流程
- 对象图展现了某一时刻一组对象以及它们之间的关系
- 状态图展现了一个状态机,它由状态、转换、事件和活动组成。换言之,状态图展现了对象的生命周期中某个条件或状态
- 构件图展现了一组构件间的组织和依赖
考点:构件图
课本上原句,该类题无需过度咬文爵字准备,随缘即可
面向对象
22下
考点:继承&多态
- 继承是父类和子类之间共享数据和方法的机制,是类之间的一种关系。在定义和实现一个类时,可在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。父类与子类可以理解为一般与特殊的关系,例如题中的鸭子和野鸭,鸭子和红头鸭。
- 多态:不同的对象收到同一消息可以产生完全不同的结果
在使用多态时,用户可以发送一个通用的消息,而实现的细节则由接受对象自行决定。把具有通用功能的消息存放在高层次,而把不同的实现这一功能的行为放在较低层次,在这些低层次上生成的对象能够给通用消息以不同的响应。
考点:对象的理解
在面向对象的系统中,对象是基本的运行实体,它既包括数据(属性),也包括作用于数据的操作(行为),所以一个对象把属性和行为封装为一个整体。对象往往是个名次,具有一些特点(属性)和行为(方法)。
从程序设计者角度看,对象是一个程序模块,从用户角度看,对象为他们提供了所希望的行为。在对象内的操作通常叫做方法。一个对象通常可由对象名、属性和操作三部分组成。
软考题整体属于广而浅,不要想复杂。只要逻辑合理,即使发现考点再白目也无需惊讶。
考点:设计原则
-
单一职责原则:设计目的单一的类
-
开放-封闭原则:对扩展开发,对修改封闭(用扩展的方式作为对新需求的应对)
-
李氏替换原则:子类可以替换父类
-
依赖倒置原则:抽象不依赖于细节,细节依赖于抽象
-
接口隔离原则:依赖于抽象,不依赖于具体
-
组合重用原则:尽量使用组合,而不是继承关系达到重用的目的
-
迪米特原则:一个对象应当对其他对象尽可能少的了解
考点:设计模式
-
创建型模式
-
结构型模式
-
行为型模式
给定描述中的传递请求,容易联想到传递职责的责任链模式
而责任链模式输出行为模式
考点:设计模式
不相容变协调统一,适配器模式
python
22下
考点:异常处理
-
try…except…else
try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。- 如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。
- 如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印默认的出错信息)。
- 如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。
try:
<语句> #运行别的代码
except <名字>:
<语句> #如果在try部份引发了'name'异常
except <名字>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
eg
try:
fh = open("testfile", "w")
fh.write("这是一个测试文件,用于测试异常!!")
except IOError:
print "Error: 没有找到文件或读取文件失败"
else:
print "内容写入文件成功"
fh.close()
- try-finally
try:
<语句>
finally:
<语句> #退出try时总会执行
raise
eg:
当在try块中抛出一个异常,立即执行finally块代码。
finally块中的所有语句执行后,异常被再次触发,并执行except块代码。
参数的内容不同于异常。
try:
fh = open("testfile", "w")
try:
fh.write("这是一个测试文件,用于测试异常!!")
finally:
print "关闭文件"
fh.close()
except IOError:
print "Error: 没有找到文件或读取文件失败"
- 用raise语句自己触发异常
raise [Exception [, args [, traceback]]]
eg
def functionName( level ):
if level < 1:
raise Exception("Invalid level!", level)
# 触发异常后,后面的代码就不会再执行
考点:内置函数之range(n)
- range(n)则范围为0到n - 1
- [起点,终点(,步长)],其中老外习惯左闭右开,即[起点,终点)
考点:内置函数之input(str)
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。
程序设计语言
22下
考点:较为冷门,无需特意准备
调用方法时,需要保存的内容,其中全局变量应该是整个类中保存的,故排除
考点:编译与解释
考点:递归分析
软件工程
22下
考点:
“信息不同采取不同的行为”需要进行判定,则采取判定表
考点:
C选项过于绝对化,要综合考虑进行规模大小的确定
考点:关键路径
考点:软件开发模型
并非所有的需求都能够预先定义,大量的实践表明,在开发初期很难得到一个完整的、准确的需求。主要是由于客户往往不能准确地表达出对未来系统的全面要求,开发者对要解决的应用问题模糊,以至于形成的需求规格说明常常是不完整的、不准确的,有时甚至是歧义的。此外,在整个开发过程中,用户可能会产生新需求,导致需求的变更。而瀑布模型难以适应这种需求的不确定性和变化,则出现了快速原型模型。
简言之,原型方法适合于用户需求不清、需求经常变化,系统规模不是很大也不很复杂的情况
做题角度,快速出个原型,就很难应用于大规模的系统。软工科目的考题整体大都可以借助计算机常识进行排除和锁定。
考点:
三层c/s结构为
应用的各层显然实现上没有必要用相同的语言开发
考点:耦合类型
推荐用排除法,易排除ABC
- 数据耦合:简单数据参数,不是控制参数、公共数据结构或外部变量
- 标记耦合:数据结构
- 控制耦合:控制信息
- 公共耦合:公共的数据环境可以是全部数据结构、共享的通信区、内存的公共覆盖区等
考点:软件质量
最新技术往往不够稳定
考点:动态测试之白盒测试
从弱到强如图:
考点:
A过于绝对,且不考虑实际特点,强制统一不符合实际
考点:测试阶段
考点:
“对文件或数据中的记录进行……操作”则知对数据进行维护
结构化开发方法
22下
考点:耦合类型
“通过外部变量交换信息”,属于访问同一外部变量
信息安全与多媒体基础
22下
整体来看的话,更多是看现场分析,参考教材给出的知识点似乎没有。看题干语境,进行相应排除吧
AD
参考教材上木涉及,比较冷门,了解即可(不妨碍得45+
“漏洞扫描系统”“进行定期扫描”可以发现潜在的风险和漏洞, A√
只是扫描还没到修复的阶段,B×
日志信息一般是放在服务器的开发目录之下,系统出现问题后工作人员去查询日志,而不是扫描就会看这个东西,属于无关选项,C×
关闭非必要端口与服务和漏洞扫描显然无关,属于无关选项,D×
知识产权与标准化
22下
给定的知识点有个逻辑上的印象,还是会考原知识点的
考点:产权人确定
==>委托开发的作品或软件,合同说了归委托方则归委托方,没说就归创作方(受托人)
考点:计算机软件著作权
- 著作人身权:《中华人民共和国著作权法》规定,软件作品享有两类权利,一类是软件著作权的人身权(精神权利);另一类是软件著作权的财产权(经济权利)。《计算机软件保护条例》规定,软件著作权人享有发表权和开发者身份权,这两项权利和软件著作权人的人身权不可分离。
- 发表权:指决定软件作品是否公之于众的权利。发表权具体内容包括软件作品发表的时间、发表的形式以及发表的地点等。
- 开发者身份权(也叫署名权):指作者为表明身份在软件作品中署自己名字的权利。署名可有多种形式,既可以署作者的姓名,也可以署作者的笔名,或者作者自愿不署名。开发者的身份权(署名权)不随着开发者的消失而丧失,且无时间限制。
- 著作权中的财产权:指能给著作权人带来经济利益的权利。财产权通常是指由软件著作权人控制和支配,并能够为权利人带来一定经济效益的权利。《计算机软件保护条例》规定,软件著作权人享有下述软件财产权。
- 使用权:在不损害社会公共利益的前提下,以复制、修改、发行、翻译和注释等方式合作软件的权利。
- 复制权:把软件作品制作一份或多份的行为,复制权是版权所有人决定实施或不实施上述复制行为或禁止他人复制其受保护作品的权利。
- 修改权:作者享有的修改或者授权他人修改软件作品的权利
- 发行权:以出售或赠与方式向公众提供软件的软件或复制件的权利
- 翻译权:指将原软件从一种程序语言转换为另一种程序语言的权利
- 注释权:著作权人对自己的作品享有进行注释的权利
- 信息网络传播权:以有线或无线信息网络方式向公众提供软件作品,使公众可在其个人选定的时间和地点获得软件作品的权利。
考点:知识产权人确定
- “M公司将其开发的某软件产品”,则该公司享有软件著作权
- “M公司对员工进行了保密约束”,则该公司有商业秘密权
- “注册商标为S”,则该公司有商标权
- 题干没有提及申请主力权,排除B
专业英语
22下
先通读一遍,大概知道在说啥,第二遍根据上下文填写,第三遍看看通不通顺~当然时间实在不够的话全部选同意选项即可。毕竟还有其他学科撑着45+
第三个结合上下文,在说接口的好处
第四个转折后说没有要求,可能在暗示让步状语中是满足了该要求,“很适合”
第五个下文提及的概念,可能是此处就开始铺垫