2023年5月考过了软考中级——软件设计师,一次通过,两科成绩分别是入下。
做上午真题的时候积累了一些易错题,分享一下~~
2014年5月
1、木马程序:是一种寻找计算机后门,伺机窃取被控计算机中的密码和重要文件等,分成服务端和客户端,植入对方电脑的是服务端,客户端是运行在攻击者机器上的
2、软件成本估算模型COCOMO
基本模型:是一个静态单变量模型,用一个已估算出来的源代码行数LOC为自变量的函数来计算软件开发工作量
中级模型:在LOC的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的评估
详细模型:包括中级COCOMO型的所有特性,还考虑软件工程中分析、设计各步骤的影响
COCOMO II:包含三个阶段模型,即应用组装模型、早期设计阶段模型、体系结构阶段模型
3、统一过程UP:以用户和风险驱动,以架构为中心、受控的迭代式的增量开发。定义了四个阶段:
起始阶段:该阶段的主要目的是建议项目的范围和版本,确定项目的可行性和稳定性,提交结果包括需求和用例
精化阶段:该阶段的目的是对问题域进行分析,建立系统需求和架构,确定实现的可行性和稳定性,提交结果包括系统架构,确定实现的可行性和稳定性,提交结果包括系统架构、问题领域、修改后的需求及项目开发计划等文档
构建阶段:增量式开发可以交付给用户的软件产品
移交阶段:目的是将软件产品交付给用户
4、冗余技术:利用系统的并联模型来提高系统可靠性的一种手段,冗余附加件包括【独立设计的相同功能冗余备份程序的存储及调用】、【实现纠错检测及恢复的程序】、【为实现容错软件所需的固化程序】
5、Prim(普里姆算法) 和 Kruskal(克鲁斯卡尔算法):K比P算法在效率上快,P适合边稠密图,时间复杂度O(n2),K适合稀疏图,时间复杂度O(eloge)
2015年5月
1、CPU访问速度排序:寄存器>cache>内存>硬盘
2、主存与cache的地址映射关系
直接映射:主存中的每一块只能映射到cache的一个特定块中
优点:硬件简单,不需要相联存储器,访问速度快,无需地址变化
缺点:块冲突概览高导致cache空间利用率极低
全相连映射:主存中的任意一块可以映射到cache中的任意一块
优点:块冲突低,cache空间利用率高
缺点:相连目录表容量大导致成本高,查表速度慢
组相连映射:对cache分组,再组内实现直接映射,组外全相连映射
3、流水线相关知识
吞吐率:单位时间内流水线所完成的任务数量,流水线所用时间/任务总数
加速比:不使用流水线的执行时间/使用流水线的执行时间
效率:任务所占的时空区/所有段的时空区
4、安全需求
物理安全:是整个网络信息安全的基础,如机房安全、环境安全、人身安全等
网络安全:包含网络体系结构安全、通信和网络技术安全、互联网技术和服务安全。常用的安全设备有:防火墙、入侵检测、入侵防御等
系统安全:从电子商务系统的整体出发进行安全防护。主要面临的威胁有:系统实现存在漏洞、系统体系安全缺陷、使用人员的安全意识薄弱、管理制度的薄弱等
应用安全:针对特定应用所建立的安全防护措施。如web应用安全、电子架构安全、电子商务安全、数据库应用安全等
5、媒体
感觉媒体:指人们接触信息的感觉形式。如:视觉、听觉、触觉、嗅觉、味觉等
表示媒体:指为了传输感觉媒体而人为研究出来的媒体,借助这种媒体能有效的将感觉媒体从一个地方传送到另外一个地方。如语言编码、电报码等
显示媒体(表现媒体):表现和获取信息的物理设备。如:输入显示媒体键盘、鼠标、麦克风等;输出显示媒体显示器、打印机、音响等
存储媒体:存储数据的物理设备,如磁盘、光盘和内存等
传输媒体:传输数据的物理载体,如电缆、光缆、交换设备等
6、结构化设计方法中
概要设计阶段:进行软件体系结构的设计、数据设计和接口设计
详细设计阶段:进行数据结构和算法的设计
面向对象设计方法中
概要设计阶段:进行体系结构设计、初步的类设计、数据设计、结构设计
详细设计阶段:进行构件设计
7、风险的优先级通常是根据【风险暴露】设定的:风险暴露=风险曝光度=风险损失*风险概率,因此风险曝光度越大,风险级别越高
8、程序运行时用户内存空间划分为:代码区、静态数据区、栈区、堆区。其中栈区和堆区也称为动态数据区,全局变量的存储空间在静态数据区
9、嵌入式系统初始化过程:片级初始化-->板级初始化-->系统初始化。其中系统初始化主要以软件初始化为主,主要进行操作系统的初始化
10、敏捷开发方法
极限编程XP:由价值观、原则、实践和行为组成,其中价值观为沟通、简单性、反馈和勇气
水晶法Crystal:认为每一种不同的项目都需要一套不同的策略、约定和方法论
并列争球法Scrum:用迭代的方法,其中把每30天一次的迭代称为一个“冲刺”,并按照需求的优先级来实现产品,多个自组织和自治小组并行的递增实现产品,协调是通过简短的日常会议来进行的。
自适应软件开发ASD:ASD的核心的三个非线性的、重叠的开发阶段:猜测、合作和学习
11、内聚
偶然内聚:一个模块的各成分之间毫无关系。比如一组无关的代码在多处出现,为了节省空间,将这些语句放在一个模块中,这模块的内聚就是偶然内聚
逻辑内聚:把几种逻辑上相关的功能放在同一个模块中,比如在一个模块中读取各种不同类型的外设的输入
瞬时内聚(时间内聚):一个模块所包含的任务必须在同一时间间隔内执行,比如初始化模块
过程内聚:一个模块的处理元素是相关的,而且必须按特定的次序执行
通信内聚:一个模块的所有成分都结合在同一个数据结构中上
顺序内聚:模块的成分同一个功能密切相关,且输出作为另外一个成为的输入
功能内聚:模块内所有的成分属于一个整体,完成单一的功能
内聚从低到高:偶然内聚最低,功能内聚最高
12、正式技术评审:由软件工程师和其他人进行的软件质量保障活动,其目标包括
(1)发现功能、逻辑或实现的错误
(2)证实经过评审的软件的确满足需求
(3)保证软件的表示返回预定义的标准
(4)得到一种一致的开发方式开发的软件
(5)使项目更易管理
13、VLAN:虚拟局域网,在局域网中创建不同的VLAN的好处是:抵御广播风暴的影响、减少冲突域的数量、增加冲突域的大小、减少广播域的数量
14、FTP协议建立在【TCP】协议上
2015年11月
1、虚拟存储器体系由【主存—辅存】两级存储器构成
2、主动攻击包括:拒绝服务攻击、分布式拒绝服务DDos、信息篡改、资源使用、欺骗、伪装、重放
3、netstat命令的连接状态:
LISTEN:侦听来自远方的TCP端口的连接请求
SYNC-SENT:再发送连接请求后等待匹配的连接请求
SYNC-RECEIVED:在收到和发送一个连接请求后等待对方对连接请求的确认
ESTABLISHED:代表一个打开的连接
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2:从远程TCP等待连接中断请求
CLOSE-WAIT:等待从本地用户发来的连接中断请求
CLOSING:等待远程TCP对连接中断的确认
LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED:没有任何连接状态
4、模型适用场景
瀑布模型:小型系统,数据流处理
原型模型:大型系统,需求不确定,需要经常变更的
螺旋模型:强调风险分析,特别适用于庞大、复杂并具有高风险的系统
喷泉模型:以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程,具有迭代性
5、逆向工程工具属于【软件维护】工具
6、分布式数据库
分片透明:用户或应用程序不需要知道逻辑上访问的表具体是怎么分块存储的
复制透明:采用复制技术的分布方法,用户不知道数据是复制到哪些节点,如何复制的
位置透明:用户无需知道数据存放的位置
逻辑透明:局部数据模型透明,是指用户程序无需知道局部场地使用的是哪些数据模型
7、POP3邮局协议
默认端口:110
默认传输协议:TCP
适用架构:C/S
访问模式:离线访问
8、主机路由的子网掩码是【255.255.255.255】
9、层次化网络设计中各层次的主要功能
接入层:用户接入、计费管理、MAC地址认证、收集用户信息
汇聚层:网络访问策略控制、数据包处理、过滤,寻址
核心层:高速数据交换、常用冗余机制
2016年5月
1、VLIW:very long Instruction Word,超长指令字(一种非常长的指令组合,将许多指令连接在一起)
2、软件开发中,需求分析阶段的输出:数据流图、实体联系图、数据字典
3、耦合
非直接耦合:2个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的
数据耦合:一组模块借助参数表传递简单数据
标记耦合:一组模块通过参数表传递记录信息(这个记录是某一数据结构的子结构,而不是简单变量)
控制耦合:如果一个模块通过传送开发、标志、名字等控制信息,明显地控制选择另一个模块的功能,就是控制耦合
外部耦合:一组模块都访问同一全局简单变量,而且不是通过参数表传递该全局变量的信息
公共耦合:多个模块都访问同一个公共数据环境
内容耦合:一个模块直接访问另外一个模块的内部数据;一个模块不通过正常入口转到另一个模块的内部;2个模块有一部分程序代码重叠;一个模块有多个入口
4、仓库风格
优点:解决问题的多方法性、具有可更改性和可维护性、有可重用的知识源、支持容错性和健壮性
缺点:测试困难、不能保证有好的求解方案、效率低、开发成本高、缺少对并行机的支持
5、移进-归约分析方法是【自下而上】的一种语法分析方法
6、FTP协议
控制端口【21】
主动模式:从服务器端向客户端发起连接,端口固定是20
被动模式:客户端向服务器端发起连接,端口在1025~65535之间随机产生
2016年11月
1、CPU是根据【指令的不同阶段】来区分在内存中以二进制编码形式存放的指令和数据
2、由【硬件】自动完成Cache和主存之间的地址映射
3、MD5/SHA-1:是消息摘要算法、RSA:非对称加密算法,可以用作数字签名和验签功能、DES/RC5:对称加密算法,用于数据加密
4、发明专利的保护期限为【20年】,实用新型和外观设计专利权的期限为【10年】,不可延续
商标权保护的期限为【10年】,可延续
5、在FM方式的数字音乐合成器中,改变数字载波频率可以改变乐音的【音调】,改变它的信号幅度可以改变乐音的【音高】
6、MTBF:平均故障间隔时间,又称平均无故障时间,系统的【可靠性=MTBF/(1+MBTF)】
7、SNMP协议报文是封装在UDP协议中传送的
8、标准URL格式是:协议://主机名.域名.域名后缀或IP地址(:端口号)/目录/xxx
如 wb.xyz.com.cn中wb表示主机名
2017年5月
1、根据我国商标法规定,【烟草制品】必须注册商标
2、模块的扇出、扇入。
扇出:一个模块的扇出是指该模块直接调用的下级模块的个数。扇出越大表示模块的复杂度越高,通常是缺少中间层次,应该适当增加中间层次的控制模块
扇入:一个模块的扇入是指直接调用该模块的上级模块,扇入大表示模块复用程度高
3、本地主机查询网址对应IP的方式:本地hosts文件--->本地DNS解析器缓存--->本地DNS服务器--->根域名DNS服务器
2017年11月
1、主存主要采用【动态随机存储器DRAM】、cache采用【静态随机存储器SRAM】
2、计算机中的默认端口
HTTP协议:80
HTTPS协议:443
SMTP协议(简单邮件传输协议):25
POP3(邮件协议3):110,基于TCP协议
3、入侵检测技术:专家系统、模型检测、简单匹配
4、白盒测试
分支覆盖(判定覆盖):使得程序中每个判断的取真分支和取假分支至少经历一次
语句覆盖:使得程序中每个语句都执行一次
路径覆盖:使得程序中每个路线都执行一次
5、编译过程
词法分析:从左到右一个一个的读入源程序,识别一个单词或符号,进行归类
语法分析:在词法分析的基础上,将单词序列分解成各类语法短语,对语句的结构合法性进行检查
语义分析:审查源程序是否有语义错误,当不符合语言规范的时候,程序就会报错
2020年11月
1、高级语言程序:预处理-->编译-->汇编-->链接-->可执行文件
2、在分配不到DHCP的时候,使用169.254.0.0 ~ 169.254.255.255中的任意一个
3、时钟周期:ACL时钟信号的周期,最基本的
机器周期:完成一个基本操作的时间,由12个时钟周期组成
指令周期:取出并执行一条指令的时间
总线周期:一个访问存储器或I/O端口操作所用的时间
2021上半年
1、协议
TLS:安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性
TFTP:Trivial File Transfer Protocol,简单文件传输协议,是TCP/IP协议族中的一个用来在客户机与服务器间进行简单文件传输的协议
IPSec:工作在网络层,为IP数据报文进行加密
PP2P:工作在数据链路层,用于链路加密
POP3/IMAP4:邮件收取协议,后者比前者更高级
SMTP:邮件发送协议
2、代码生成过程
词法分析:处理非法字符、单词拼写错误
语法分析:处理标点符号错误,表达式中缺少操作数、括号不匹配等错误
语义分析:处理运算符与运算对象类型不合法等错误
3、MTTF和MTTR
MTTF:平均无故障时间、MTTR:平均故障修复时间
可维护性:1/(1+MTTR)
可用性或可靠性:MTTF/(1+MTTF)
4、面向对象分析的5个活动:认定对象、组长对象、描述对象间的相互作用、定义对象的操作、定义对象的内部信息
5、面向对象的设计原则
单一职责原则:设计目的单一的类
开放封闭原则:对扩展开放,对修改封闭
里氏替换原则:子类可以替换父类
依赖倒置原则:要依赖于抽象,而不是具体实现,针对接口编程,不要针对实现编程
接口隔离原则:使用多个专门的接口比使用单一的总接口要好;不强迫客户依赖于他们不用的方法,即依赖于抽象,不依赖于具体,同时在抽象级别不应该有对于细节的依赖