软考程序员考试大纲(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.hqwc.cn/news/128010.html

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

相关文章

高级IO(Linux)

高级IO 五种IO模型高级IO重要概念同步通信 vs 异步通信阻塞 vs 非阻塞 非阻塞IOfcntl实现函数SetNoBlock轮询方式读取标准输入 I/O多路转接之select初识selectselect函数原型参数解释参数timeout取值关于fd_set结构关于timeval结构函数返回值三级目录 理解select执行过程socket…

Games104现代游戏引擎笔记高级ai

Hierarchical Task Network 层次任务网络 World State是一个主观的对世界的认知,并不是一个真实世界的描述 Sensors负责从游戏环境中抓取各种状态 HTN Domain 存放层次化的树状结构Task和之间的关联关系1 Planner 根据World State从 Domain 里规划 task Plan Runne…

《DevOps 精要:业务视角》- 读书笔记(一)

DevOps 精要:业务视角(一) 第1章 什么是DevOps1.1 起源1.1.1 敏捷软件开发方法1.1.2 管理基础设施即代码1.1.3 这是必然的 1.2 定义1.3 为什么要实施DevOps?1.3.1 缩短市场响应时间1.3.2 减少技术债务1.3.3 消除脆弱性 1.4 历史起源1.5 常见误…

【1.1】神经网络:关于神经网络的介绍

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: 神经网络(随缘更新) ✨特色…

Android Studio 是如何和我们的手机共享剪贴板的

背景 近期完成了target33的项目适配升级,随着AGP和gradle的版本升级,万年老版本Android Studio(后文简称AS)也顺便升级到了最新版Android Studio Giraffe | 2022.3.1,除了新UI外,最让我好奇的是这次的Running Devices功能(官方也称为Device mirroring)可以控制真机了. 按照操…

从入门到精通,30天带你学会C++【第七天:for循环和while循环以及数组的学习】(学不会你找我)

目录 Everyday English 前言 数组 数组的概念 数组的定义 数组的下标 for循环 循环是什么 基本格式 多重循环 while循环 do-while循环 总结 Everyday English To shine , not be illuminated. 去发光,而不是被照亮。 前言 好久不见&#xff0c…

6-3 递增的整数序列链表的插入 分数 5

List Insert(List L, ElementType X) {//创建结点List node (List)malloc(sizeof(List));node->Data X;node->Next NULL;List head L->Next; //定位real头指针//空链表 直接插入if (head NULL) {L->Next node;node->Next head;return L;}//插入数据比第…

Map,Set和哈希表的使用

目录 两种模型 Map的使用 Map接口方法的使用 注意事项 Set的使用 哈希表 冲突 如何避免冲突 在我们日常生活中,会进行一些查找操作,比如根据姓名查询考试成绩,根据姓名查询联系方式等在查找是进行一些插入和删除操作,即动态查找. 而Map和Set是一种适合动态查找的集合容…

Postman接口测试学习之常用断言

什么是断言? 断言——就是结果中的特定属性或值与预期做对比,如果一致,则用例通过,如果不一致,断言失败,用例失败。断言,是一个完整测试用例所不可或缺的一部分,没有断言的测试用例…

Linux登录自动执行脚本

一、所有用户每次登录时自动执行。 1、在/etc/profile文件末尾添加。 将启动命令添加到/etc/profile文件末尾。 2、在/etc/profile.d/目录下添加sh脚本。 在/etc/profile.d/目录下新建sh脚本,设置每次登录自动执行脚本。有用户登录时,/etc/profile会遍…

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

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

文本自动输入/删除的加载动画效果

效果展示 CSS 知识点 绕矩形四周跑的光柱动画实现animation 属性的 steps 属性值运用 页面基础结构实现 <div class"loader"><!-- span 标签是围绕矩形四周的光柱 --><span></span><span></span><span></span>&l…