软考(软件设计师)中的一些总结
目录
考试范围
网络协议相关
加密与数字证书
软件测试
质量
UML
编译原理
面向对象
面向过程
数据结构
数据库
硬件与微机原理
考试范围
网络协议相关
PGP(全称:Pretty Good Privacy,优良保密协议),是一套用于信息加密、验证的应用程序,可用于加密电子邮件内容。
IGMP(Internet Group Management Protocol)互联网组管理协议是TCP/IP协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
SSH通过在网络中创建安全隧道(英语:secure channel)来实现SSH客户端与服务器之间的连接,SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。
Telnet是一种应用层协议,使用于互联网及局域网中,使用虚拟终端的形式,提供双向、以文字字符串为主的命令行接口交互功能。属于TCP/IP协议族的其中之一,是互联网远程登录服务的标准协议和主要方式,常用于服务器的远程控制,可供用户在本地主机执行远程主机上的工作。
RFB(Remote Frame Buffer 远程帧缓冲)协议是一个用于远程访问图形用户界面的简单协议。
TCP是可靠的传输层协议,与安全无关。
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
IPSec工作于网络层,为IP数据报文进行加密。
PP2P工作于数据链路层,用于链路加密。
HTTPS是HTTP与SSL的结合体,为传输层以上层次数据加密。
TLS安全传输层协议用于在两个通信应用程序之间提供保密性和数据完整性。
RIP:RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。
OSPF:OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(lnterior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。
BGP:边界网关协议(BGP)是运行于TCP上的一种自治系统的路由协议。BGP是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。
UDP:传输层协议。
防火墙通常分为内网、外网和DMZ三个区域,按照默认受保护程度,从低到高正确的排列次序为外网、DMZ和内网。 防火墙的端口连接的网络依据被保护对象的安全级别分为三个:内网(Trusted)有要保护的数据和主机,安全级别最高;DMZ(非军事区)放置可对外提供的服务器群,安全级别次之;外网(Untrusted)是内网用户可访问资源,安全设置较少,安全级别最低。
DMZ俗称非军事区,其基本思想是将内网的一些服务器另外配置一套提供给Internet用户访问,内网服务器不对Internet用户开放。这样,即使DMZ中的服务被攻击或被破坏,也可通过内网的原始服务器快速恢复和重建。
通常,只要Internet需要访问的服务都在DMZ中部署,包括所需要的数据库服务器。为保证安全,在DMZ与内网之间部署内部防火墙,实行严格的访问限制;在DMZ与外网之间部署外部防火墙,施加较少的访问限制。
SMTP邮件传输协议。
POP3邮件收取协议。
IMAP4协议与POP3协议一样也是规定个人计算机如何访问网上的邮件的服务器进行收发邮件的协议,但是IMAP4协议同POP3协议相比更高级。
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。
POP3协议采用C/S模式进行通信,POP3需要TCP连接的支持,当客户机需要服务时,客户端软件与POP3服务器建立TCP连接。
POP3使用的端口号为110,用以接收邮件报文。该报文采用的传输层协议是TCP。
常用协议端口号情况如下:
POP3:110端口,邮件收取。
SMTP:25端口,邮件发送。
FTP:20数据端口/21控制端口,文件传输协议。
HTTP:80端口,超文本传输协议,网页传输。
DHCP:67端口,IP地址自动分配。
SNMP:161端口,简单网络管理协议。
DNS:53端口,域名协议,记录域名与IP的映射
关系。
TCP:可靠的传输层协议。
UDP:不可靠的传输层协议。
ICMP:因特网控制协议,PING命令来自该协议。
IGMP:组播协议。
ARP:地址协议,IP地址转换为MAC地址。
RARP:反向地址协议,MAC地址转IP地址。
包过滤防火墙在TCP/IP四层架构下的IP层中运作。它检查通过的IP数据封包,并进一步处理。
主要的处理方式有:放行、丢弃或拒绝,以达到保护自身网络的目的。包过滤技术在网络层中对数据包进行有选择的处理。它根据系统内预先设定的过滤规则,对数据流中每个数据包进行检查后,根据数据包的源地址、目的地址、TCP/UDP源端口号、TCP/UDP目的端口号以及数据包头中的各种标志位等信息来确定是否允许数据包通过。
SMTP是简单邮件传输协议;POP是邮件接收协议,目前为POP3版本;IMAP是互联网邮件访问协议,该协议从邮件服务器上获取邮件信息,下载邮件等;FTP为文件传输协议。
加密与数字证书
对称加密: 分组加密(块加密):DES,AES,3DES 非对称加密: RSA,DSA,ECDSA
典型的对称加密算法:DES,3DES,AEC等。
典型的非对称加密算法:RSA,ECC等。
典型的摘要算法:SHA,MD5等。
加密一般分为 对称加密(Symmetric Key Encryption)非对称加密(Asymmetric Key Encryption)。 对称加密又分为分组加密和序列密码。
(1)分组加密,也叫块加密(block cyphers),一次加密明文中的一个块。是将明文按一定的位长分组,明文组经过加密运算得到密文组,密文组经过解密运算(加密运算的逆运算),还原成明文组。具有代表性的块加密算法有DES,AES,3DES等。
(2)序列加密,也叫流加密(stream cyphers),一次加密明文中的一个位。是指利用少量的密钥(制乱元素)通过某种复杂的运算(密码算法)产生大量的伪随机位流,用于对明文位流的加密。 解密是指用同样的密钥和密码算法及与加密相同的伪随机位流,用以还原明文位流。
数字证书包含版本、序列号、签名算法标识符、签发人姓名、有效期、主体名和主体公钥信息等并附有CA的签名,用户获取网站的数字证书后通过CA的公钥验证CA的签名,从而确认数字证书的有效性,然后验证网站的真伪。
常见的公钥加密算法有: RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(Elliptic Curve Cryptography, ECC) ;DSA数字签名(又称公钥数字签名),将摘要信息用发送者的私钥加密,接收者只有用发送者的公钥才能解密被加密的摘要信息,也是属于公开密钥加密算法。
DES是典型的私钥加密体制,属于对称加密,不属于公开秘钥加密。
软件测试
软件测试分三个阶段:1、单元测试-对应详细功能设计;2、集成测试-对应模块和接口;3,系统测试-对应需求分析。
环路复杂度是闭环加一,1个测试用例就可以覆盖所有语句
质量
- **功能性**:适合性、准确性、互操作性、安全保密性、依从性 ==》需求 - 可靠性:成熟性、容错性、易恢复性 - **易用性**:易理解性、易学性、易操作性 ==》用户 - 效率:时间特性、资源利用性 - 维护性:易分析性、易改变性、稳定性、易测试性 - **可移植性**:适应性、易安装性、易替换性 ==》开发
可靠性:MTTF/(1+MTTF) MTTF:平均无故障时间
可用性:MTBF/(1+MTBF) MTBF:平均失效间隔
可维护性:1/(1 + MTTR) MTTR:平均修复时间
UML
转换由事件触发,而不是状态由事件触发。
[tries<]和tries++分别表示监护条件和转换,带有[]表示限制条件,没带[]的具体操作表示一个状态到另外一个状态的转换
用例图关系:
extend属于用例图的三种关系之一,表示的是扩展关系。描述为:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能会发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,关系图示指向为扩展用例指向基本用例。include属于用例图的三种关系之一,表示的是包含关系。描述为:当可以从两个或两个以上用例中提取公共行为的时候,应该使用包含关系来表示它们。其中这个提取出来的公共用例称之为抽象用例,而把原始用例称为基本用例和扩展用例。还需结合用例图说明扩展用例、包含用例的应用。
泛化(generalization):泛化关系是一种继承关系,子用例将继承基用例的所有行为,关系和通信关系,也就是说在任何使用基用例的地方都可以用子用例来代替。泛化关系在用例图中使用空心的箭头表示,箭头方向从子用例指向基用例。
扩展(extend): extend关系是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。
包含(include): include为包含关系,当两个或多个用例中共用一组相同的动作,这时可以将这组相同的动作抽出来作为一个独立的子用例,供多个基用例所共享。
聚合与组合的区别解释:
(聚合没了一个 不会一起没 组合没了一个 就都没了)
编译原理
词法分析阶段处理的错误:非法字符、单词拼写错误等
语法分析阶段处理的错误:标点符号错误、表达式中缺少操作数、括号不匹配等有关语言结构上的错误。
静态语义分析阶段(即语义分析阶段)处理的错误:运算符与运算对象类型不合法等错误。
目标代码生成(执行阶段)处理的错误:动态语义错误,包括陷入死循环、变量取零时做除数、引用数组元素下标越界等错误等。
1、预处理阶段:将cpp或c的源程序进行处理(头文件展开等),转换成以i结尾的翻译单元文件。
2、编译阶段:生成编译后以s为后缀的汇编代码文件。
3、汇编阶段:将汇编代码进行汇编生成以o为后缀目标文件。
4、链接阶段:合并多个目标文件,关联声明与定义,生成可执行程序。
决策表又称判断表,是一种呈表格状的图形工具,适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况。
符号表在编译程序工作的过程中需要不断收集、记录和使用源程序中一些语法符号的类型和特征等相关信息。这些信息一般以表格形式存储于系统中。广义表,又称列表,也是一种线性存储结构。通常,广义表中存储的单个元素称为“原子",而存储的广义表称为“子表”。
索引表是一张指示逻辑记录和物理记录之间对应关系的表。索引表中的每项索引项按键(或逻辑记录号)顺序排列。在索引顺序文件中,可对一组记录建立一个索引项。
面向对象
面向对象分析阶段:认定对象,组织对象,对象间的相互作用,基于对象的操作。
面向对象设计阶段:识别类及对象、定义属性、定义服务、识别关系、识别包。
面向对象程序设计:程序设计范型、选择一种OOPL。
面向对象测试:算法层、类层、模板层、系统层。
单一职责原则:设计目的单一的类
里氏替换原则:子类可以替换父类
依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程,同时在抽象级别不应该有对于细节的依赖。
共同封闭原则:包中的所有类对于同一种性质的变化应该是共同封闭的。一个变化若对一个封闭的包产生影响,则将对该包中的所有类产生影响,而对于其他包则不造成任何影响。面向对象设计的原则之一。
共同重用原则:面向对象编程术语,指一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么也就相当于重用了包中的所有类。
开放-封闭原则:对扩展开放,对修改封闭。
接口隔离原则:使用多个专门的接口比使用单一的总接口要好。
面向过程
数据字典包含4类条目:数据流、数据项、数据存储和基本加工。
其中基本加工条目是用来说明DFD中基本加工的处理逻辑的,由于下层的基本加工是由上层加工分解而来,只要有了基本加工的说明就可理解其他加工。对每一个基本加工,都应该有一个加工逻辑来说明。
加工描述了输入数据流到输出数据流之间的编号,也就是输入数据流经过什么处理后变成了输出数据流。加工逻辑对其进行说明,也就是描述了改过程的加工规则。
加工逻辑是位于需求分析阶段,此时具体的数据结构和算法并没有进行设计。
常用的加工逻辑描述方法有结构化语言、判定表和判定树三种。
数据结构
分支数=结点数-1
假设度为4的结点个数记作n4,度为3的结点个数记作n3,度为2的结点个数记作n2,度为1的结点个数记作n1,度为0的结点个数记作no。
此时结点总数为n4+n3+n2+n1+n0,每个结点可
以根据树枝找到其父节点,除了根,所以此时树枝的数量为n4+n3+n2+n1 +n0-1。
又因为度与树枝的定义,树枝的个数又可以计算
为:4*n4+3*n3+2*n2+1*n1 +0*n0。
综上可得n4+n3+n2+n1+n0-1=4*n4+3*n3+2*n2+1*n1 +0*n0,此时n4=7,
n3=5,n2=8,n1=10,代入表达式计算可得,
no=40,
最短路径例题:
数据库
属性冲突。同一属性可能会存在于不同的分E-R
图,由于设计人员不同或是出发点不同,对属性的类型、取值范围和数据单位等可能会不一致。
命名冲突。相同意义的属性在不同的分E-R图中有着不同的命名,或是名词相同的属性在不同的分E一R图中代表这不同的意义。
结构冲突。同一实体在不同的分E-R图中有不同的属性,同一对象在某一分E-R图中被抽象为实体,而在另一分E-R图中又被抽象为属性,需要统一。本题属于结构冲突没有实体冲突的说法。
分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个节点具有独立处理的能力(称为场地自治),它可以执行局部应用,同时,每个节点也能通过网络通信子系统执行全局应用。分布式数据库系统是在集中式数据库系统技术的基础上发展起来的,具有如下特点:
()数据独立性。在分布式数据库系统中,数据独立性这一特性更加重要,并具有更多的内容。除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。
()集中与自治共享结合的控制结构。各局部的
DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。
()适当增加数据冗余度。在不同的场地存储同一数据的多个副本,这样,可以提高系统的可靠性和可用性,同时也能提高系统性能。
()全局的一致性、可串行性和可恢复性。
本题描述的是可用性。
硬件与微机原理
SRAM和DRAM都是采用MOS管存储信息的。SRAM与DRAM的区别只在于一个是静态一个是动态。由于SRAM不需要刷新电路就能够保存数据,所以具有静止存取数据的作用。而DRAM则需要不停地刷新电路,否则内部的数据将会消失。LASH和EEPROM都能掉电存储数据,不需要刷新电路,FLASH按扇区操作,EEPROM则按字节操作。
随机访问存储器(RAM)有两类:静态的(SRAM)和动态的(DRAM),SRAM 比DRAM速度更快,但也贵得多。SRAM用来作为高速缓冲存储器(Cache),DRAM 用来作为主存及图形系统的帧缓冲区。
SRAM将每个位存储在一个双稳态的存储器单元中,DRAM将每个位存储为对一个电容的充电,由于电容非常小,在10~l00ms时间内会失去电荷,所以需要周期性地刷新充电以保持信息。
EEPROM是电可擦除可编程只读存储器。
指令集RISC与CISC的区别:
移臂找磁道,旋转找扇区:
内存替换例题:
文件系统例题:
软考(软件设计师)中的一些总结相关推荐
- 计算机软件水平考试英语试题,计算机软考软件设计师英语试题及答案解析(3)
计算机软考软件设计师英语试题及答案解析(3) 分类:软考 | 更新时间:2016-07-08| 来源:转载 ●The Semantic Web is a web of dat a There is l ...
- 【软考-软件设计师精华知识点笔记】第八章 算法分析设计
前言 由于笔记复制到CSDN样式失效,没有精力再重新完整的检查并设置一遍样式,有积分的可以前往下载word.pdf.有道云笔记版本. 需要说明的是,下载的内容与本篇分享内容一致,只有样式的区别[比如重 ...
- 【软考-软件设计师精华知识点笔记】第十章 网络与信息安全
前言 由于笔记复制到CSDN样式失效,没有精力再重新完整的检查并设置一遍样式,有积分的可以前往下载word.pdf.有道云笔记版本. 需要说明的是,下载的内容与本篇分享内容一致,只有样式的区别[比如重 ...
- 【软考-软件设计师】(五).计算机网络
[软考-软件设计师](五).计算机网络七层模型 七层模型 补充: 交换机:有存储转发 快速转发和碎片丢弃三种交换模式. 可以多个点同时通信 二层交换机: mac地址和对应端口记录在自己的地址表 跨过网 ...
- 软考软件设计师基础知识—法律法规知识
软考软件设计师基础知识-法律法规知识 视频的地址: https://open.163.com/newview/movie/free?pid=GETVIB0OT&mid=JETVSHAMA 保护 ...
- 软考-软件设计师 笔记一(计算机组成与体系结构)
本栏博客目录 软考-软件设计师 笔记一(计算机组成与体系结构) 软考-软件设计师 笔记二(操作系统基本原理) 软考-软件设计师 笔记三(数据库系统) 软考-软件设计师 笔记四(计算机网络) 软考-软件 ...
- 软考-软件设计师 笔记十(软件工程)
本栏博客目录 软考-软件设计师 笔记一(计算机组成与体系结构) 软考-软件设计师 笔记二(操作系统基本原理) 软考-软件设计师 笔记三(数据库系统) 软考-软件设计师 笔记四(计算机网络) 软考-软件 ...
- 软考软件设计师下午真题-面向对象的程序设计与实现-状态设计模式(2011年下半年试题六))Java代码讲解
软考软件设计师下午真题-面向对象的程序设计与实现-状态设计模式(2011年下半年试题六))代码讲解 说明 Java代码 注释 说明 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且 ...
- 软考软件设计师下午真题-面向对象的程序设计与实现-生成器设计模式(2018年上半年试题六))Java代码讲解
软考软件设计师下午真题-面向对象的程序设计与实现-生成器设计模式(2018年上半年试题六))代码讲解 说明 Java代码 注释 说明 生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示 ...
- 软考-软件设计师】(二). 操作系统
软考-软件设计师](二). 操作系统 概述 进程管理 就绪 :只缺cpu (活跃就绪) 等待:除了缺cpu 还缺其它,比如用户的指令...(活跃阻塞==等待) 就绪–>运行:被程序选中 运行–& ...
最新文章
- python打砖块游戏算法设计分析_python实现打砖块游戏
- SpringMVC底层数据传输校验的方案(修改版)
- C#interface定义及使用浅析
- Scala中映射的语法(对应Java中的Map集合的定义)
- Linux ping不通百度的解决方法
- 网页动画结束判断事件
- XML Schema 基本结构
- asp.net core 认证及简单集群
- 变态公式之如何算出圆的内部被切割成几块?
- 三星系统和鸿蒙系统,又一设备直升鸿蒙系统,现有操作系统被抛弃,和三星的想法一样!...
- PostGIS容器运行
- (私人收藏)python学习(游戏、爬虫、排序、练习题、错误总结)
- 前端学习(977):本地存储导读
- IIS故障:World Wide Web Publishing无法启动 提示1721错误
- 【面试虐菜】—— MongoDB知识整理
- 诺基亚N9手机升级后PR1.3后反应迟钝、发热、耗电快的问题
- 数据结构与算法(python版)
- 又是一年春来到,祝大家有个好的开始。
- uni-app +vue+微信小程序 发布线上
- java 创建二维码