文章目录
- 前言
- 一、考试说明
- 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语言
之后我将详解考点内容,欢迎收藏,订阅专栏!