软考中级之软件设计师---知识点汇总总结

软考中级之软件设计师---知识点汇总总结

  • 软考介绍
    • 资格设置
    • 证书样本
  • 计算机组成原理
  • 操作系统
    • 1. 进程的三态模型
    • 2. 磁盘调度算法
  • 计算机网络
    • 1. 网络的分类
    • 2. 各层的互连设备
    • 3. 网络模型,协议簇
    • 4. 传输层协议TCP、UDP
      • 4.1 TCP (Transmission Control Protocol,传输控制协议)
      • 4.2 UDP(User Datagram Protocol, 用户数据报协议)
      • 4.3 小结
    • 5. HTTPS和HTTP的区别
    • 6. IP地址与MAC地址的区别
    • 7. 计算机网络中A,B,C类子网的划分
    • 8. Windows命令
    • 9. 其他
  • 数据结构
    • 1. 查找算法
    • 2. 排序算法选择
    • 3. 关键路径问题
  • 数据库
    • 1. 关系模式的范式
      • 1.1 第一范式(1NF)
      • 1.2 第二范式(2NF)
      • 1.3 第三范式(3NF)
  • 软件工程
    • 1. 开发方法/开发模型的选择
    • 2. 软件测试
      • 2.1 白盒测试

软考介绍

计算机技术与软件专业技术资格(水平)考试(简称计算机软件资格考试,又可简称为软考),软考证书在中国计算机和软件专业领域具有较高的含金量。

  1. 职业认可:软考证书是对个人软件技术能力和专业知识的认可,表明持证人在相关领域具备一定的专业水平和能力。

  2. 提升竞争力:拥有软考证书可以增强个人在求职市场上的竞争力。对于同等学历和工作经验的候选人而言,持有相关软考证书的人更有可能获得面试和职位机会。

  3. 加分优势:在一些招聘或评职称的过程中,软考证书可能被视为加分项。一些公司、机构或政府部门可能会将软考证书作为评定候选人能力的重要参考因素之一。

  4. 专业发展:软考证书的获得可以作为个人专业发展的里程碑,有助于提升个人在当前岗位上的技术水平和职业发展机会。

软件设计师就是软考中较为常见且被认为有用的软考证书,它涵盖了软件需求分析、软件架构设计、软件详细设计等方面的知识和技能,适用于软件开发和设计相关的职位

资格设置

在这里插入图片描述

证书样本

在这里插入图片描述
在这里插入图片描述

想要了解更多有关软考内容请访问软考官方网站:https://www.ruankao.org.cn/

计算机组成原理

  1. 实现海明码纠错应满足: 2^k >= k + n + 1 ,其中k是检验位数,n为数据位数
  2. 词法分析:单词是否正确 语法分析: 语法是否出错 语义分析:分析语法含义的结构
  3. 虚拟存储体系由主存-辅存两级存储器构成
  4. 浮点数能表示的数的范围由阶码的位数决定,精度由尾数的位数决定.
  5. 人耳能听到的声音视率范围是: 20Hz-20KHZ。低于这个区间的,叫次声波,高于这个区间的叫超声波

操作系统

  1. CPU根据 指令周期的不同阶段 来区分在内存中以二进制编码存放的指令和数据
  2. CPU访问速度:通用寄存器>Cache>内存>硬盘
  3. 线程可与同属于一个进程的其他线程共享进程所拥有的全部资源

1. 进程的三态模型

在这里插入图片描述

2. 磁盘调度算法

  1. 先来先服务(FCFS):按请求访问者的先后次序启动磁盘驱动器,而不考虑它们要访问的物理位置。
  2. 最短寻道时间优先(SSTF):让离当前磁道最近的请求访问者启动磁盘驱动器,即让查找时间最短的那个作业先执行,而不考虑请求访问者到来的先后次序,这样就克服了先来先服务调度算法中磁头移动过大的问题。
  3. 扫描算法(SCAN)或电梯调度算法:
    在这里插入图片描述
  4. 循环扫描算法(CSCAN)单向扫描算法:
    在这里插入图片描述

计算机网络

1. 网络的分类

计算机网络有以下两种常用的分类方法。

  1. 按传输技术进行分类可分为广播式网络和点到点式网络;
  2. 按地理范围进行分类可分为局域网(LAN)、城域网(MAN)和广域网(WAN)。
    a. 局域网(LAN)。局域网是一种在小区域内使用的,由多台计算机组成的网络,覆盖范围通常局限在10 千米范围之内,属于一个单位或部门组建的小范围网。
    b. 城域网(MAN)。城域网是作用范围在广域网与局域网之间的网络,其网络覆盖范围通常可以延伸到整个城市,借助通信光纤将多个局域网联通公用城市网络形成大型网络,使得不仅局域网内的资源可以共享,局域网之间的资源也可以共享。
    c. 广域网(WAN)。 广城网是一种远程网,涉及长距离的通信,覆盖范围可以是个国家或多个国家,甚至整个世界。由于广域网地理上的距离可以超过几千千米,所以信息衰减非常严重,这种网络一般要租用专线,通过接口信息处理协议和线路连接起来,构成网状结构,解决寻径问题。

覆盖范围:局域网<城域网<广域网

2. 各层的互连设备

  1. 物理层:中继器、集线器(多路中继器、多端口中继器)
  2. 数据链路层:网桥、交换机(多端口的网桥)、网卡
  3. 网络层:路由器
  4. 应用层:网关

3. 网络模型,协议簇

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. TCP和UDP是基于IP协议的;
  2. FTP协议占用两个标准的端口号:20和21,其中20为数据端口,21为控制端口
  3. POP3协议采用Client/Server模式
  4. ARP协议的作用是实现IP地址到MAC地址的转换
  5. ARP报文分为ARP Request和ARP Response,其中ARP Request采用广播进行传送,ARP Response采用单播进行传送
  6. RARP协议的作用是实现MAC地址到IP地址的转换
  7. DHCP(动态主机配置协议)的功能是:集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway 地址、DNS服务器地址等信息,并能够提升地址的使用率。
  8. DHCP客户端可以从DHCP服务器获得本机IP地址、DNS服务器地址、DHCP服务器地址和默认网关的地址等
  9. Windows无效地址:169.254.X.X Linux无效地址:0.0.0.0
    1. 254.X.X是Windows系统在DHCP信息租用失败时自动给客户机分配的IP地址
  10. ICMP协议数据单元封装在 IP数据 报中传送
  11. DNS域名查询的次序是:本地的hosts文件–>本地DNS缓存–>本地DNS服务器–>根域名服务器
  12. 协议是控制对等实体之间通信的规则,是水平的;服务是下层通过层间接口向上层提供的功能,是垂直的;
  13. 协议的实现保证了能够向上一层提供服务,要实现本层协议还需使用下层提供的服务。

4. 传输层协议TCP、UDP

4.1 TCP (Transmission Control Protocol,传输控制协议)

TCP是整个TCP/IP协议族中最重要的协议之一。它在IP提供的不可靠数据服务的基础上为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。
TCP的特点:可靠传输、连接管理、差错校验和重传、流量控制、拥塞控制、端口寻址;其中流量控制采用的是:可变大小的滑动窗口协议
TCP是如何实现可靠性的呢?最主要和最重要的是TCP采用了重发(Retransmission) 技术。具体来说,在TCP传输过程中,发送方启动一个定时器,然后将数据包发出,当接收方收到了这个信息时就给发送方一个确认(Acknowledgement)信息。如果发送方在定时器到点之前没有收到这个确认信息,就重新发送这个数据包。
在这里插入图片描述
TCP建立连接时三次握手,断开连接时四次挥手

4.2 UDP(User Datagram Protocol, 用户数据报协议)

UDP是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信。与TCP相比,它的错误检测功能要弱得多。可以这样说,TCP有助于提供可靠性;而UDP有助于提高传输的高速率性。例如,必须支持交互式会话的应用程序(如FTP等)往往使用TCP;而自己进行错误检测或不需要错误检测的应用程序( 如DNS、SNMP等)往往使用UDP。
UDP协议软件的主要作用是将UDP消息展示给应用层,它并不负责重新发送丢失的或出错的数据消息,不对接收到的无序IP数据报重新排序,不消除重复的IP数据报,不对已收到的数据报进行确认,也不负责建立或终止连接。这些问题是由使用UDP进行通信的应用程序负责处理的。
TCP虽然提供了一个可靠的数据传输服务,但它是以牺牲通信量来实现的。也就是说,为了完成同样一个任务,TCP需要更多的时间和通信量。这在网络不可靠的时候通过牺牲一些时间换来达到网络的可靠性是可行的,但在网络十分可靠的情况下,则可以采用UDP,通信量的浪费就会很小。

4.3 小结

  1. TCP和UDP协议均提供了端口寻址功能,连接管理、差错校验和重传以及流量控制均为TCP独有的功能

5. HTTPS和HTTP的区别

  1. HTTPS协议需要到CA申请证书
  2. HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议
  3. HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443
  4. HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全

6. IP地址与MAC地址的区别

  1. IP地址长度32或128位,MAC地址的长度48位
  2. IP地址是网络层逻辑地址,MAC地址是数据链路层物理地址
  3. IP地址通常基于网络拓扑分配,可以是动态或静态分配,而MAC地址基于制造商分配,是全球唯一的。

7. 计算机网络中A,B,C类子网的划分

在计算机网络中,IP地址通常按照不同的类别进行划分,包括A、B、C类子网,每个类别都有不同的IP地址范围和子网掩码。以下是它们的划分:

  1. A类子网:
    • IP地址范围:1.0.0.0 到 126.0.0.0
    • 子网掩码:255.0.0.0
    • A类IP地址的第一个字节用于网络标识,而后面的三个字节用于主机标识。这使得A类子网非常适合大型网络,因为它们可以支持大约16,777,214个主机。
  2. B类子网:
    • IP地址范围:128.0.0.0 到 191.0.0.0
    • 子网掩码:255.255.0.0
    • B类IP地址的前两个字节用于网络标识,后面的两个字节用于主机标识。B类子网适用于中型网络,每个子网可以支持大约65,534个主机。
  3. C类子网:
    • IP地址范围:192.0.0.0 到 223.0.0.0
    • 子网掩码:255.255.255.0
    • C类IP地址的前三个字节用于网络标识,最后一个字节用于主机标识。C类子网适用于小型网络,每个子网可以支持大约254个主机。

这些类别的子网划分是根据IP地址的第一个字节(A类是0-127,B类是128-191,C类是192-223)来定义的。请注意,上述划分是传统的IP地址类别划分,而在实际网络中,CIDR(无类别域间路由)和子网划分技术更常用,允许更灵活的IP地址分配和子网化。这些方法允许更有效地管理IP地址资源,同时满足网络需求。
4. 当有子网时,IP地址 = 网络号 + 子网号 + 主机号
5. 在计算一个IP地址块包含多少个主机地址时,因为全为0的000000和全为1的111111通常不作为主机号,所以要减2

8. Windows命令

  1. ipconfig命令
    在这里插入图片描述
  2. 使用ping命令进行网络检测,按照由近及远原则,首先执行的是ping 127.0.0.1,其次是ping 本地IP,再次是ping 默认网关,最后是ping 远程主机
  3. Netstat命令用于显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作,使用时如果不带参数,Netstat 显示活动的TCP连接
  4. Msconfig命令用于Windows配置的应用程序
  5. nslookup命令可以从本地DNS服务器中查看所有的IP地址和域名信息(它就像一本互联网电话簿)。例如,想要找到www.baidu.com的IP地址就可以使用nslookup命令。nslookup命令对于解决DNS问题也是非常有用的。

在这里插入图片描述

9. 其他

  1. 对于一个统一资源定位符(URL)“http://www.abc.com”,'http’是协议名,'www’是主机名,'abc.com’是域名;在地址栏中输入www.abc. com默认使用http协议;
  2. 127.0.0.1是本地回送地址,当网络连接不可用时,为了测试编写好的网络程序,通常使用的目的主机IP地址为127.0.0.1
  3. IPv4所能表示的IP地址个数为232个,IPv6所能表示的IP地址个数为2128个
  4. 在安全通信中,S将所发送的信息使用(S的私钥)进行数字签名, T收到该消息后可利用(S的公钥)验证该消息的真实性

数据结构

1. 查找算法

  1. 平衡二叉树:从左到右排列同层次的结点,其关键字呈现有序排列的特点

2. 排序算法选择

  1. 基本有序----选择插入排序

3. 关键路径问题

  1. 从最开始求出各节点的最早发生时间(多个时间取最晚)
  2. 从最后求出个节点的最晚发生时间(多个时间取最早)
  3. 求每条边的最早发生时间(等于前边节点的最早发生时间)
  4. 求每条边的最晚发生时间(等于后面节点的最晚发生时间减去边的用时)
  5. 求出每条边的时间余量(等于最晚发生时间减去最早发生时间)
  6. 时间余量为零的边称为关键活动组成关键路径。关键路径的时间即为工程完成的最早时间

更多详细知识请看博主下面的两篇文章:

  1. 数据结构考点—查找
  2. 数据结构考点—排序

数据库

1. 关系模式的范式

1.1 第一范式(1NF)

定义:设R是一个关系模式,R属于第一范式当且仅当R中每一个属性A的值域只包含原子项,即不可分割的数据项。

1NF不能排除数据冗余和更新异常等问题,因为其中可能存在部分函数依赖。
反例:

(下图中工资属性的值域不是原子项,还有子属性,不满足第一范式)
在这里插入图片描述

改成如下关系模式,则满足第一范式
在这里插入图片描述

1.2 第二范式(2NF)

定义:设R是一个关系模式,R属于第二范式当且仅当R是1NF,且每个非主属性都完全函数依赖于候选码。

属于2NF的关系模式R也可能存在数据冗余和更新异常等问题,因为其中可能存在传递函数依赖。但不属于2NF的关系模式R会产生插入异常、删除异常和修改复杂等问题。

1.3 第三范式(3NF)

定义:设R是一个关系模式, R属于第三范式当且仅当R是2NF,且每个非主属性都非传递函数依赖于候选码。

一个不属于3NF的关系模式R会产生插入异常、删除异常和修改复杂等问题。属于3NF的关系模式R可能存在主属性对码的部分依赖和传递依赖。

小结:
1NF解决"非主属性对码的部分函数依赖"问题后成为2NF,2NF解决"非主属性对码的传递函数依赖"后成为3NF

软件工程

1. 开发方法/开发模型的选择

  1. 原型化方法-----用户需求不清晰且经常发生变化,但系统规模不太大且不太复杂
  2. 结构化方法-----系统规模不太大且不太复杂,需求变化也不大
  3. 瀑布模型将开发阶段描述为一个阶段瀑布股的转换到另一个阶段的过程;原型模型中,开发人员快速地构造整个系统或者系统的一部分以理解或者澄清问题;螺旋模型将开发活动和风险管理结合起来,以减小风险;喷泉模型开发过程以用户需求为动力,以对象为驱动,适合于面向对象的开发方法。
  4. 开发大型软件时,大型软件系统的需求往往难以在前期确定,所以瀑布模型最不适合。瀑布顾名思义需求快速确定,但是大型软件不能这么快

2. 软件测试

2.1 白盒测试

常用的白盒测试用例设计方法有
语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖、路径覆盖等
发现错误的能力呈由弱至强的变化。

  • 语句覆盖每条语句至少执行一次。
  • 判定覆盖每个判定的每个分支至少执行一次
  • 条件覆盖每个判定的每个条件应取到各种可能的值
  • 判定/条件覆盖同时满足判定覆盖条件覆盖
  • 条件组合覆盖每个判定中各条件的每一种组合至少出现一次
  • 路径覆盖使程序中每一条可能的路径至少执行一次。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/806114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

day77 JSPServlet

知识点&#xff1a; 1Web工程 2JSP是什么&#xff1f;JSP页面包含哪些内容&#xff1f;JSP页面执行原理 3JSP九大内置对象&#xff0c;及四个作用域 4什么是SERVLET&#xff1f;及servlet相关API 5MVC模型 6EL表达式及JSTL标签库的使用 7在JSP页面实现分页和多条件查询 …

【UE5 C++】访问修饰符public/protected/private继承

限制类与类之间访问级别的方法 public 在类中创建一个public的部分&#xff0c;即" public: "&#xff0c;public之下的所有内容都是公共的,可以在类之间访问 private&#xff08;最常见&#xff09; 如若没有指明修饰符&#xff0c;则默认为private 不能在类的外…

【LAMMPS学习】七、加速性能(4)加速器包

7. 加速性能 7.1.基准测试 7.2.测试性能 7.3.通用技巧 7.4.加速器包 LAMMPS 中添加了各种pair_style、fixes、compute 和其他命令的加速版本&#xff0c;其运行速度通常比标准非加速版本更快。有些需要您的系统上存在适当的硬件&#xff0c;例如GPU 或 Intel Xeon Phi 协处…

每日OJ题_BFS解决FloodFill②_力扣200. 岛屿数量

目录 力扣200. 岛屿数量 解析代码 力扣200. 岛屿数量 200. 岛屿数量 难度 中等 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方…

聊聊自己12岁车龄的福克斯

1. 2005年&#xff0c;国内进入了 福克斯 ( 参数 | 询价 ) 这台车&#xff0c;中间经历了两次换代&#xff0c;而我自己的这台车则是第一批进入国内的福克斯&#xff0c;它的到来颠覆了大家当时对汽车设计的印象&#xff0c;在十年前家用车都是捷达、桑塔纳等那些古板油腻的车…

全球变暖蓝桥杯2018省赛真题

全球变暖蓝桥杯2018省赛真题 DFS大法 全球变暖 #include <bits/stdc.h> using namespace std; #define int long long bool flag; char a[1010][1010]; int cnt,n,ans0,pre_ans0,d[4][2] {1,0,-1,0,0,1,0,-1}; void dfs(int x,int y){if(x>n||x<0||y>n||y<…

德勤:《中国AI智算产业2024年四大趋势》

2023年《数字中国建设整体布局规划》的发布&#xff0c;明确了数字中国是构建数字时代竞争优势的关键支撑&#xff0c;是继移动互联网时代以来经济增长新引擎。当我们谈论数字中国的构建&#xff0c;不仅仅是在讨论一个国家级的技术升级&#xff0c;而是关乎如何利用数字技术来…

操作系统(第四周 第一堂)

目录 回顾 进程调度&#xff08;process schedule&#xff09; 进程角度 计算机整体——调度队列 队列图 调度程序 总结 回顾 上一篇文章的重点只有一个————进程 对进程的了解包含以下几个方面&#xff1a;1、程序如何变为进程 2、进程在内存中的存储形式 3、进…

【网站项目】校园二手交易平台小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

力扣HOT100 - 189. 轮转数组

解题思路&#xff1a; 三次反转。 先反转一次&#xff0c;再根据 k 拆分成两部分各反转一次。 class Solution {public void rotate(int[] nums, int k) {k % nums.length;reverse(nums, 0, nums.length - 1);reverse(nums, 0, k - 1);reverse(nums, k, nums.length - 1);}pu…

相机参数的意义

相机标定的意义&#xff1a; 相机标定&#xff1a;使用带有pattern的标定板来求解相机参数的过程&#xff1b;用一个简化的数学模型来代表复杂的三维到二维的成像过程&#xff1b;相机参数包括&#xff1a;相机内参&#xff08;焦距等&#xff09;&#xff0c;外参&#xff08…

[CUDA 学习笔记] 矩阵转置算子优化

矩阵转置算子优化 矩阵转置是一种基础的矩阵操作, 即将二维矩阵的行列进行反转. 本文主要围绕行主序的二维单精度矩阵的转置考虑相关的优化. 以下 kernel 笔者均是在 NVIDIA V100 (7.0 算力) 上进行测试的, 且选择矩阵的行列维度大小为 M2300 N1500. Version 0. 朴素实现 _…

处理慢查询时使用explain一般看哪些字段

explain之后会出现这些&#xff0c;一般就只看下面这几个字段 select_type就是查询类型&#xff0c;在我司的业务里基本上用的都是简单查询&#xff0c;在内存中处理逻辑&#xff0c;复杂查询的话排查问题比较麻烦&#xff0c;引起慢查询还会拖累数据库&#xff0c;数据库里还…

three.js尝试渲染gbl模型成功!(三)

参照教程&#xff1a;https://cloud.tencent.com/developer/article/2276766?areaSource102001.5&traceId88k805RaN_gYngNdKvALJ &#xff08;作者&#xff1a;九仞山&#xff09; 通过最近两天查three.js入门教程了解到 这玩应支持包括 .obj、.gltf等类型的模型结构。 g…

微服务-网关

在微服务架构中&#xff0c;每个服务都是一个可以独立开发和运行的组件&#xff0c;而一个完整的微服务架构由一系列独立运行的微服务组成。其中每个服务都只会完成特定领域的功能&#xff0c;比如订单服务提供与订单业务场景有关的功能、商品服务提供商品展示功能等。各个微服…

2.SpringBoot利用Thymeleaf实现页面的展示

什么是Thymeleaf&#xff1f; Thymeleaf是一个现代服务器端Java模板引擎&#xff0c;适用于Web和独立环境&#xff0c;能够处理HTML&#xff0c;XML&#xff0c;JavaScript&#xff0c;CSS甚至纯文本。 Thymeleaf的主要目标是提供一种优雅且高度可维护的模板创建方式。为实现这…

斐讯E1拆机焊接TTL救砖

从老家的柜子里翻出来一台斐讯E1&#xff0c;老家在用的是斐讯K2P&#xff0c;300M宽带&#xff0c;房间和大部分位置wifi5足够跑满了&#xff0c;一直懒得升级&#xff0c;也足够用了。 不过发现部分位置信号比较弱&#xff0c;都不到50M&#xff0c;考虑插上E1做个AP中继&…

106. 跑步锻炼(结果填空)

public class Main { public static void main(String[] args) { int startYear 2000; int startMonth 1; int startDay 1; // 周六 int endYear 2020; int endMonth 10; int endDay 1; // 周四 int totalDistance 0; // 计算开始日期到结束日期之间的每一天 …

Spring与SpringBoot的区别

Spring是一个开源的Java应用程序框架&#xff0c;旨在简化企业级Java应用程序的开发。它提供了一个轻量级的容器&#xff0c;用于管理应用程序中的各个组件&#xff08;如依赖注入、AOP等&#xff09;&#xff0c;并提供了丰富的功能和模块&#xff0c;用于处理数据库访问、事务…

Acwing.4009 收集卡牌(期望dp)

题目 小林在玩一个抽卡游戏&#xff0c;其中有 n种不同的卡牌&#xff0c;编号为 1到 n。 每一次抽卡&#xff0c;她获得第 i种卡牌的概率为 pi。 如果这张卡牌之前已经获得过了&#xff0c;就会转化为一枚硬币。 可以用 k枚硬币交换一张没有获得过的卡。 小林会一直抽卡&…