软考程序员考试大纲(2023)

在这里插入图片描述

文章目录

  • 前言
  • 一、考试说明
    • 1.考试目标
    • 2.考试要求
    • 3.考试科目设置
  • 二、考试范围
    • 考试科目1:计算机与软件工程基本知识
      • 1.计算机科学基础
      • 2.计算机系统基础知识
      • 3.系统开发和运行知识
      • 4.网络与信息安全基础知识
      • 5.标准化与知识产权基础知识
      • 6.信息化基础知识
      • 7.计算机专业英语
    • 考试科目2:程序设计
      • 1.算法设计与实现
      • 2.程序设计
      • 3.程序实现与测试
      • 4.程序设计语言


前言

之前给大家介绍了软考程序员是什么,如何报考及备考流程,现在我来带大家一起了解下软考程序员大纲!

一、考试说明

1.考试目标

通过本考试的合格人员能根据软件开发项目管理和软件工程的要求按照程序设计规格说明书编制并高度程序,写出相应的程序文档,产生符合标准规范的、实现设计要求的、能正确可靠运行的程序。具有助理工程师(或技术员)的实际工作能力和业务水平。

2.考试要求

(1)掌握数制及其转换、数据的机内表示、算术和逻辑运算、应用数学的基础知识;(2)了解计算机的组成以及各主要部件性能指标;(3)掌握操作系统、程序设计语言的基础知识;(4)熟练掌握基本数据结构和常用算法;(5)熟练掌握C程序设计语言以及C++、Java中的一种程序设计语言;(6)熟悉数据库、网络和多媒体的基础知识;(7)了解软件工程的基础知识、软件过程基本知识、软件开发项目管理的常识;(8)了解常用信息技术标准、安全性以及有关法律、法规的基础知识;(9)了解信息化及计算机应用的基础知识;(10)正确阅读和理解计算机领域的简单英文资料。

3.考试科目设置

(1)计算机与软件工程基础知识,考试时间为150分钟,笔试,选择题;(2)程序设计,考试时间为150分钟,笔试,问答题。

二、考试范围

考试科目1:计算机与软件工程基本知识

1.计算机科学基础

1.1 数制及其转换

 ●	二进制、十进制和十六进制等常用数制及其相互转换

1.2 数据的表示

●	数的表示
●	非数值数据的表示

1.3 算术运算和逻辑运算

●	计算机中二进制数的运算方法
●	逻辑代数的基本运算

1.4 数学应用

●	常用数值计算(矩阵、近似求解、插值)
●	排列组合、应用统计
●	编码基础

1.5 常用数据结构

●	数组
●	线性表及链表
●	队列、栈
●	树
●	图

1.6 常用算法

●	算法与数据结构的关系
●	算法设计和算法描述
●	常用的排序算法
●	查找算法
●	常用的数值计算方法
●	字符串处理算法
●	递归算法
●	最小生成树、拓扑排序和单源点最短路径求解算法

2.计算机系统基础知识

2.1 硬件基础知识

2.1.1 计算机的类型和特点

●	微型计算机、工作站、服务器、超级计算机
●	个人移动设备
●	嵌入式计算机

2.1.2 中央处理器CPU

●	CPU的组成
●	CPU中的寄存器
●	指令系统和寻址方式
●	指令执行控制、中断控制、处理机性能

2.1.3 主存和辅存

●	存储介质
●	主存
●	辅存设备
●	高速缓存(Cache)

2.1.4 I/O接口、I/O设备和通信设备

●	I/O接口的功能和特点
●	常见I/O设备
●	常见通信设备(类型、特性)
●	I/O设备、通信设备的连接方法和连接介质类型

2.2 软件基础知识

2.2.1 操作系统基础知识

●	操作系统的类型和功能
●	处理机管理
●	存储管理
●	设备管理
●	文件管理
●	作业管理(作业调度算法)
●	图形用户界面和操作方法

2.2.2 程序设计语言和语言处理程序的基础知识

●	语言翻译基础知识(汇编、编译、解释)
●	程序设计语言的基本成分:数据、运算、控制和传输
●	程序语言类型和特点

2.3 网络基础知识

●	协议体系结构
●	传输介质与交换技术
●	常用网络设备与服务器
●	局域网络连接
●	Internet基础知识
●	TCP/IP协议
●	简单网络管理	

2.4 数据库基础知识

●	数据库管理系统基本概念
●	关系数据库理论
●	数据库设计
●	数据库语言(SQL)
●	数据库新技术(非关系数据库等)

2.5 多媒体基础知识

●	多媒体基本概念
●	常用多媒体文件格式类型

2.6 系统性能指标

●	响应时间、吞吐量、周转时间
●	可靠性、可维护性、可扩展性、可移植性、可用性、可重用性、安全性

2.7 计算机应用基础知识

●	计算机常用办公软件操作方法
●	计算机在信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等领域的应用

3.系统开发和运行知识

3.1 软件工程和项目管理基础知识

●	软件工程基础知识
●	软件开发项目管理基本概念
●	软件开发方法基本概念
●	软件开发工具与环境基础知识(CASE)
●	软件质量管理基础知识

3.2 系统分析设计基础知识

●	数据流图(DFD)、实体联系图(ER图)、UML图基本知识
●	结构化分析和设计方法
●	面向对象分析与设计方法	
●	模块设计、代码设计、人机界面设计基础知识

3.3 程序设计基础知识

●	结构化程序设计基本概念
●	面向对象程序设计基本概念
●	程序设计风格

3.4 程序测试基础知识

●	程序测试的目的、原则、对象、过程与工具
●	黑盒测试、白盒测试方法
●	测试设计和管理

3.5 程序设计文档基础知识

●	算法的描述、程度逻辑的描述、程度规格说明书
●	单元测试计划、测试用例、测试报告

3.6 系统运行和维护基础知识

●	系统运行管理基础知识
●	系统维护基础知识

4.网络与信息安全基础知识

●	信息系统安全基础知识
●	信息安全技术(加密与解密、认证、数字签名、摘要等)
●	网络安全技术
●	计算机安全等级及相关法律法规

5.标准化与知识产权基础知识

●	标准化基础知识
●	知识产权基础知识(保护知识产权有关的法律、法规)

6.信息化基础知识

●	信息、信息资源、信息化、信息工程、信息产业、信息技术的含义
●	全球信息化趋势、国家信息化战略、企业信息化战略和策略常识
●	有关的法律、法规要点

7.计算机专业英语

●	具有助理工程师(或技术员)英语阅读水平
●	理解本领域的英语基本词汇

考试科目2:程序设计

1.算法设计与实现

●	理解算法描述
●	简单算法设计
●	算法实现

2.程序设计

●	模块划分(原则、方法、标准)
●	编写程序设计文档⭐⭐模块规格说明书(程序处理逻辑、输入输出数据格式)⭐⭐测试要求说明书(测试类型和目标、测试用例、测试方法)
●	程序设计评审

3.程序实现与测试

3.1编程

●	编程方法和编码规范
●	程序设计语言的选择和使用
●	人工走查
●	程序文档化

3.2程序测试

●	测试环境和测试工具的选择和使用
●	测试数据的设计
●	测试报告的编写

4.程序设计语言

4.1 结构化程序设计

●	C语言

4.2 面向对象程序设计

●	C++或Java语言

之后我将详解考点内容,欢迎收藏,订阅专栏!

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

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

相关文章

pnpm、npm、yarn 包管理工具『优劣对比』及『环境迁移』

前言 博主在开发前端网站的时候,发现随着开发的项目的逐渐增多,安装的依赖包越来越臃肿,依赖包的安装速度也是非常越来越慢,多项目开发管理也是比较麻烦。之前我就了解过 pnpm,但是当时担心更换包管理环境可能会出现的…

十、2023.10.4.计算机网络(one).10

文章目录 1、简述静态路由和动态路由?2、说说有哪些路由协议,都是如何更新的?3、简述域名解析过程,本机如何干预域名解析?4、简述 DNS 查询服务器的基本流程是什么?DNS 劫持是什么?5、简述网关的…

FFmpeg 基础模块:容器相关的 API 操作

目录 AVFormat 模块 AVFormat 前处理部分 AVFormat 读写处理部分 小结 思考 FFmpeg 目录中包含了 FFmpeg 库代码目录、构建工程目录、自测子系统目录等,具体内容如下: 现在你知道 FFmpeg 的源代码目录中都包含了哪些内容,在之后使用 FFm…

FFmpeg日志系统、文件与目录、操作目录

目录 FFmpeg日志系统 FFmpeg文件与目录操作 FFmpeg文件的删除与重命名 FFmpeg操作目录及list的实现 操作目录重要函数 操作目录重要结构体 FFmpeg日志系统 下面看一个简单的 demo。 #include <stdio.h> #include <libavutil/log.h>int main(int argc,char* …

多头注意力机制

1、什么是多头注意力机制 从多头注意力的结构图中&#xff0c;貌似这个所谓的多个头就是指多组线性变换&#xff0c;但是并不是&#xff0c;只使用了一组线性变换层&#xff0c;即三个变换张量对 Q、K、V 分别进行线性变换&#xff0c;这些变化不会改变原有张量的尺寸&#xf…

【Vue面试题十一】、Vue组件之间的通信方式都有哪些?

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;Vue组件之间的通信方式都…

浅谈CDN内容分发与全局负载均衡

CDN简介 CDN的全称是Content Delivery Network&#xff0c;即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络&#xff0c;依靠部署在各地的边缘服务器&#xff0c;通过中心平台的负载均衡、内容分发、调度等功能模块&#xff0c;使用户就近获取所需内容&#xff0c…

C语言学生成绩录入系统

一、系统概述 该系统是一个由链表创建主菜单的框架&#xff0c;旨在快速创建学生成绩录入系统的主菜单结构。其主要任务包括&#xff1a; 实现链表的创建、插入和遍历功能&#xff0c;用于存储和展示学生成绩录入系统各个模块的菜单项。 2. 提供用户友好的主菜单界面&#xf…

【回顾一下Docker的基本用法】

文章目录 回顾一下Docker的基本用法1.初识Docker1.1.什么是Docker1.1.1.应用部署的环境问题1.1.2.Docker解决依赖兼容问题1.1.3.Docker解决操作系统环境差异1.1.4.小结 1.2.Docker和虚拟机的区别1.3.Docker架构1.3.1.镜像和容器1.3.2.DockerHub1.3.3.Docker架构1.3.4.小结 1.4.…

CSS小计

1&#xff1a;设置图片随窗缩放 使用百分比 width: 100%;height: 100%; 使用vmin: 将可视区域分为100vmin width: 100vmin;height: 100vmin; 2:设置字体颜色与背景色融合 mix-blend-mode: difference 3: 设置宽度自适应 width:fit-content 4:外边距合并 当两个相领的两个容…

Git 学习笔记 | 使用码云

Git 学习笔记 | 使用码云 Git 学习笔记 | 使用码云注册登录码云&#xff0c;完善个人信息设置本机绑定SSH公钥&#xff0c;实现免密码登录创建远程仓库 Git 学习笔记 | 使用码云 注册登录码云&#xff0c;完善个人信息 网址&#xff1a;https://gitee.com/ 可以使用微信&…

RT-Thread 内存管理(学习二)

内存堆管理应用示例 这是一个内存堆的应用示例&#xff0c;这个程序会创建一个动态的线程&#xff0c;这个线程会动态申请内存并释放&#xff0c;每次申请更大的内存&#xff0c;当申请不到的时候就结束。 #include <rtthread.h>#define THREAD_PRIORITY 25 #defi…

机器学习之旅-从Python 开始

你想知道如何开始机器学习吗&#xff1f;在这篇文章中&#xff0c;我将简要概括一下使用 Python 来开始机器学习的一些步骤。Python 是一门流行的开源程序设计语言&#xff0c;也是在人工智能及其它相关科学领域中最常用的语言之一。机器学习简称 ML&#xff0c;是人工智能的一…

lv7 嵌入式开发-网络编程开发 08 TCP并发功能

目录 1 TCP 多进程并发 1.1 现象&#xff1a; 1.2 多进程并发 2 僵尸进程处理 3 TCP并发多线程 4 练习 1 TCP 多进程并发 1.1 现象&#xff1a; 之前的代码&#xff0c;先关服务端&#xff0c;再次打开会出现错误bind:Address already in use 使用setsockopt 地址快速重…

vuejs中使用axios时如何追加数据

前言 在vuejs中使用axios时&#xff0c;有时候需要追加数据,比如,移动端下拉触底加载,分页加载,滑动滚动条,等等,这时候就需要追加数据了,下面我们来演示下. 代码演示 <template><div><div><el-button type"primary" click"handleBtnGetJ…

【智能家居项目】裸机版本——设备子系统(LED Display 风扇)

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《智能家居项目》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 输入子系统中目前仅实现了按键输入&#xff0c;剩下的网络输入和标准输入在以后会逐步实现&am…

三十二、【进阶】hash索引结构

1、hash索引结构 &#xff08;1&#xff09;简述&#xff1a; hash索引&#xff0c;就是采用一定的hash算法&#xff0c;将键值换算成新的hash值&#xff0c;映射到对应的槽位上&#xff0c;然后存储在hash表中。 &#xff08;2&#xff09;图示&#xff1a; 2、hash索引结构…

阿里云服务器ECS详细介绍_云主机_服务器托管_弹性计算

阿里云服务器ECS英文全程Elastic Compute Service&#xff0c;云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务&#xff0c;阿里云提供多种云服务器ECS实例规格&#xff0c;如经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等&#xff0c;阿里云服务器网分享阿…

手写Demo体验volatile可见性的作用

volatile是java的关键字&#xff0c;作用&#xff1a;①保证线程间的可见性&#xff1b;②防止指令重排。下面看一个demo&#xff0c;启动2个线程&#xff0c;一个线程读取flag变量的值&#xff0c;另外一个线程修改flag变量的值。 public class VolatileDemo {private static…

二、Excel VBA 简单使用

Excel VBA 从入门到出门一、Excel VBA 是个啥&#xff1f;二、Excel VBA 简单使用 &#x1f44b;Excel VBA 简单使用 ⚽️1. 如何在Excel中手动编写VBA代码⚽️2. 如何在 Excel 中运行 VBA 代码⚽️3. 如何在Excel中记录VBA代码⚽️4. 如何在Excel中编辑录制的VBA代码⚽️5. 如…