软考(中级-软件设计师)知识点整理

目录

上午选择 

下午场整理 

英语词汇


2023年3月2日更新,软考过了,下回该考高级了,本次对排序进行了重新整理,维护完后续就不更新了.

---------

上午选择

1.计算环路复杂度:判定节点(if)语句数量 + 1 = 环路复杂度;

可靠性:MTTF/(1+MTTF)
可用性:MTBF/(1+MTBF)
可维护性:1/(1+MTTR)

2.SSH 为Secure Shell 的缩写,由IETF 的网络小组(Network Working Group)所制定; SSH 为建立在应用层基础上的安全协议。SSH协议可以有效防止远程管理过程中的信息泄露问题。

3.数据字典有4类条目:数据流、数据项、数据存储和基本加工。无外部实体.

数据流图包含的成分有数据流、加工和数据存储.

4.对象的状态标识了该对象的所有属性以及每个属性的当前值.

5.数字签名采用私钥签名,公钥验证

对称算法:DES,3DES,AES.

非对称算法:RSA,DSA.

散列算法:SHA-1,MD5.

6.结构化编程语言: C、 FORTRAN

函数式编程语言: LISP, OCaml

逻辑式编程语言: Prolog等

面向对象编程语言:Java/C++ 

java是一种即时编译的语言,对象在堆空间分配,数据在栈空间分配.

7.海明码数据位与校验位之间的关系可以采用下述公式表示: 2^k ≥ n+k+1,其中数据位是n位,校验位是k位。

8.根据《著作权法》,作者的署名权、修改权、保护作品完整权保护期不受限制。 

《中华人民共和国著作权法》和《计算机软件保护条例》是构成我国保护计算机软件著作权的两个基本法律文件。

9.物理层:中继器,集线器

数据链路层:网桥(桥接器),交换机(也称为二层交换机)

网络层:路由器,三层交换机

10.语法制导翻译是一种静态语义分析.

11.软件设计师教材第五版P312。辅助软件维护工具辅助维护人员对软件代码及其文档进行各种维护活动。软件维护工具主要有:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。

12.归纳法,指的是从许多个别事例中获得一个较具概括性的规则。这种方法主要是从收集到的既有资料,加以抽丝剥茧地分析,最后得以做出一个概括性的结论。

演绎法,则与归纳法相反,是从既有的普遍性结论或一般性事理,推导出个别性结论的一种方法。由较大范围,逐步缩小到所需的特定范围。

13.出自软件设计师教材第五版P318。耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。耦合取决于各个模块之间接口的复杂程度调用模块的方式以及通过接口的信息类型

14.能力成熟度模型集成(CMMI)

CL1(已执行的)的共性目标是:过程将可标识的输入工作产品转换成可标识的输出工作产品,以实现支持过程域的特定目标。  

15.配置管理的活动包括:制定配置管理计划、配置库管理、配置控制、配置状态报告、配置审计、发布管理和交互;

风险管理是与配置管理 并列项目管理过程

16.

数据库的关系范式有:

(1)第一范式(1NF) :属性不可拆分或无重复的列。

(2)第二范式(2NF) :完全函数依赖。在一个关系中,若某个非主属性数据项依赖于全部关键字称之为完全函数依赖。

例:成绩表(学号,课程号,成绩)关系中,(学号,课程号)→成绩,只有学号或者只有课程号都无法推导出成绩,因此该关系式属于完全函数依赖。

(3)第三范式(3NF) :消除传递依赖。不依赖于其他非主属性(消除传递依赖)。满足第三范式的数据库必须先满足第二范式。也就是说,数据库中的属性依赖仅能依赖于主属性,不存在于其他非主属性的关联。

例如,图书,图书室的关系。图书包括编号、出版商、页码等信息,图书室包括图书室编号、所存图书(外键)。其中,图书室的表中不应该存储任何图书的具体信息(例如,出版商...),而只能通过主键图书编号来获得对应图书的信息。

(4) BC范式(BCNF) :所有非主属性对每一个码都是完全函数依赖;所有的主属性对于每一个不包含它的码,也是完全函数依赖;没有任何属性完全函数依赖于非码的任意一个组合。

如果说关系模式R属于3NF,不一定属于BCNF,如果R属于BCNF,则一定属于3NF。

1NF全部满足,它最大,圈逐渐变小,这里面BCNF范围最小.

(5)第四范式(4NF) :对于每一个X->Y,X都能找到一个候选码(若关系中的某一属性组的值能唯一地表示一个元组,而其真子集不行,则称该属性组为候选码)

题干中“(时间,教室)→培训科目”且“培训科目→培训师”,这之间存在传递依赖,不满足3NF,属于2NF。 

17.主存即为内存,目前是用DRAM(动态随机存储器)做的。

18.计算机网络专题

HTTP端口是80,HTTPS端口是443

SMTP向服务器发邮件,POP3收服务器的邮件.

25端口为SMTP (Simple Mail Transfer Protocol,简单邮件传输协议)服务器所开放,主要用于发送邮件

110端口是为POP3 (邮件协议3)服务开放的, POP2、POP3都是主要用于接收邮件的,目前POP3使用的比较多,许多服务器都同时支持POP2和POP3。客户端可以使用POP3协议来访问服务端的邮件服务。 

HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议。它是一个安全通信通道,基于HTTP开发,用于在客户计算机和服务器之间交换信息。HTTPS使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。HTTPS和HTTP的区别:

(1)HTTPS协议需要到ca申请证书,一般免费证书很少,需要交费。

(2)HTTP是超文本传输协议,信息是明文传输, HTTPS则是具有安全性的SSL加密传输协议。HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,HTTP端口是80,HTTPS端口是443

(3)HTTP的连接是无状态的。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议安全。 

建立连接进行可靠通信是在网络层.

ipv6地址是128位,3ffe:3201:1401:1:280:c8ff:fe4d:db39.

ipv4地址是32位.

域名的格式:
计算机主机名.本地名.组名.最高层域名
例1:https://v.ruc.edu.cn/me

cn是最高层域名(中国国家顶级域名),edu是组名,教育机构的分组,再是本地名,也就是自己这个机构的名.

例2:https://www.abchina.com/

com是商用机构(company)域名,不过也不限制必须是company,大家都可以用,然后是组名.这个因为是官网,相当于不设下面的主机名和本地名了.

网关协议:

"RIP( Routing Information Protocol )路由信息协议:是在一个AS系统中使用地内部路由选择协议,是基于距离向量路由选择的协议。

OSPF( Open Shortest Path First,开放最短路径优先)协议:采用链路状态路由选择技术,开放最短路径优先算法。

BGP (边界网关协议,Border Gateway Protocol )是自治系统之间的路由选择协议。

RFB ( Remote Frame Buffer远程帧缓冲)协议是一个用于远程访问图形用户界面的简单协议。

SSH协议是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

主机与本地路由器之间使用Internet组管理协议(IGMP,InternetGroup Management Protocol)来进行组播组成员信息的交互。

19.对一个基本有序的数组进行排序,最好使用插入排序O(N)复杂度。

20.中间代码的作用是可使程序的结构在逻辑上更为简单明确,特别是可使目标代码的优化比较容易实现。中间代码有多种形式,常见的有逆波兰记号(后缀式)、四元式和三元式,它们的共同特点是与具体的机器无关,不依赖于具休的计算机。 

21.

系统干涉属于被动攻击

拒绝服务供给、会话拦截、修改数据命令是主动攻击

22.

极限编程是一种轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的软件开发方式。

4大价值观: 沟通、简单性、反馈和勇气。

5个原则:快速反馈、简单性假设、逐步修改、提倡更改和优质工作。

12个最佳实践:①计划游戏(快速制定计划、随着细节的不断变化而完善)、②小型发布(系统的设计要能够尽可能早地交付)、③隐喻(找到合适的比喻传达信息)、④简单设计(只处理当前的需求,使设计保持简单)、⑤测试先行(先写测试代码,然后再编写程序)、⑥重构(重新审视需求和设计,重新明确地描述它们以符合新的和现有的需求)、⑦结队编程、⑧集体代码所有制、⑨持续集成(可以按日甚至按小时为客户提供可运行的版本)、⑩每周工作40个小时、现场客户和编码标准。

系统测试和验收测试针对需求分析,集成测试针对概要设计,单元测试针对详细设计.

23.编译器各阶段:

五阶段:词法分析、语法分析、语义分析与中间代码产生、优化、目标代码生成.

检查的范围----词法:单词,符号。语法:表达式。语义:类型,静态错误.

词法分析:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词(亦称单词符号或简称符号),如基本字(begin、end、if、for、while),标识符、常数、运算符和界符(标点符号、左右括号)。

语法分析:在词法分析的基础上,根据语言的语法规则,把单词符号串分解成各类语法单位(语法范畴),如“短语”、“句子”、“程序段”和“程序”等。通过语法分析,确定整个输入串是否构成语法上正确的“程序”。语法分析所依循的是语言的语法规则。语法规则通常用上下文无关文法描述。词法分析是一种线性分析,而语法分析是一种层次结构分析。

词义分析与中间代码产生:对语法分析所识别出的各类语法范畴,分析其含义,并进行初步翻译(产生中间代码)。这一阶段通常包含两个方面的工作。首先,对每种语法范畴进行语义i安插,例如,变量是否定义、类型是否正确等等。如果语义正确,则进行另一方面工作,即进行中间代码的解释。这一阶段所依循的是语言的语义规则。通常使用属性文法描述语义规则。

代码优化:优化的任务在于对前段产生的中间代码进行加工变换,以期在最后阶段能产生出更为高效(省时间和空间)的目标代码。优化的主要方面有:公关子表达式的提取、循环优化、删除无用代码等等。

⑤目标代码生成:把中间代码(或经优化处理之后)变换成特定机器上的低级语言代码。

24.设计模式:(这门课很多人可能没学过,软件工程专业里属于第二核心课,主要就是讲各种模式,如果想系统学习可能需要看一下<<Head First>>或者<<大话设计模式>>这些书,不想系统学习直接刷题就好了)

责任链模式:通过给多个对象处理请求的机会,减少请求的发送者和接受者之间的耦合。

迭代器模式:提供一种方法来顺序访问一个聚合对象中的各个元素,不暴露对象的内部。

命令模式:将一个请求封装为一个对象。

解释器模式:给定一种语言,定义文法表示,并定义一个解释器。

生成器模式:将对象的构建与表示进行分离。

创建型对象--原型,结构型对象--工厂方法,行为型对象--抽象工厂

1无直接耦合:

2数据耦合: 指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递;

3标记耦合: 指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名等这些名字即标记,其实传递的是这个数据结构的地址;

4控制耦合: 指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能;

5公共耦合: 指通过一个公共数据环境相互作用的那些模块间的耦合。公共耦合的复杂程序随耦合模块的个数增加而增加。

6内容耦合: 这是最高程度的耦合,也是最差的耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。
 

1偶然内聚:指一个模块内的各处理元素之间没有任何联系;

2逻辑内聚:指模块内执行若干个逻辑上相似的功能,通过参数确定模块完成哪一个功能;

3时间内聚:把需要同时执行的动作组合在一起形成的模块称为时间内聚模块;

4过程内聚:指一个模块完成多个任务,这些任务必须参照指定的过程执行;

5通信内聚:指模块内的所有处理元素都在同一个数据结构上操作,或者各操作使用相同的输入数据或者产生相同的输出数据;

6顺序内聚:指一个模块中的各个处理元素都密切相关于同一功能且必须顺序执行,前功能元素的输出就是下一功能元素的输入;

7功能内聚:这是最强内聚,指模块内的所有元素共同完成一个功能,缺一不可。

一般将多态分为通用多态和特殊多态。

其中通用多态包括参数多态和包含多态,参数多态利用泛型编程,是发散式的,是静态绑定的,让相同的实现代码应用于不同的场合,看重的是算法的普适性。

包含多态利用 OOP ,是收敛式的,是动态绑定的,让不同的实现代码应用于相同的场合,看重的是接口与实现的分离度。

特殊多态包括强制多态和过载多态,其中强制多态即一种类型的变量在作为参数传递时隐式转换成另一种类型,比如一个整型变量可以匹配浮点型变量的函数参数。

过载多态同一个名(操作符、函数名)在不同的上下文中有不同的类型。

25.病毒

引导区病毒:寄生在磁盘引导区,在引导过程中侵入系统。

蠕虫病毒:利用系统漏洞进行攻击。

木马病毒:获取用户数据,分为服务端和客户端程序。

宏病毒:寄生在文档或模板的宏中的计算机病毒。

26.模块结构图:

模块结构图的主要组成有:模块、调用,数据,控制信息,转接符号。

27.二叉树

具有n个结点的二叉树有f(n) = (2n)! / n!*(n+1)! 种。

28.软件质量模型规定的质量特性有(小列的为子特性,一般抽考子特性)

29.在磁盘调度管理中,先移臂,再旋转

RISC是Reduced Instruction Set Computer,精简指令集计算机.采用流水线技术;简单指令;多用通用寄存器,采用组合逻辑控制器.

CISC是Complex Instruction Set Computer,复杂指令集计算机.不采用流水线技术;复杂指令;少用通用寄存器,采用微程序控制器.

PCI总线是并行内总线,SCSI是并行外总线.

浮点数对阶是小阶向大阶对齐,浮点数右移(向右对齐).

下午场整理

1.虚函数和友元类(C++)

(1)虚函数

虚函数详解链接 https://blog.csdn.net/qq_42048450/article/details/117282640

有的地方会写 virtual double travel(int miles, FrequentFlyer* context)=0;

=0这个表明travel是纯虚函数,即要求所有派生类都实现这个函数.具体解释看链接的"4.1纯虚函数"

(2)Friend Classes(友元类)

详解链接 https://blog.csdn.net/weixin_38293850/article/details/80191242

和其他class是friend,可以访问private和protected成员.

(3)纯虚函数virtual和abstract

先整明白virtual是c++的,abstract是java的.

virtual是指父类标了virtual后,子类必须实现.

abstract是父类战鹰(抽象)以后,子类需要用extends进行继承.

英语词汇

full extent  全图        extent 程度、面积、大小、范围   reusable 可重复使用的; 可再次使用的;

overwhelmed 难以承受,应接不暇,压倒

  • 25
    点赞
  • 320
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值