软件开发工程师需要学什么,软件工程需要学什么( 二 )


软件开发工程师需要学什么,软件工程需要学什么

文章插图
中国计算机软件设计师考试大纲
一、考试说明
1.考试要求:
(1) 掌握数据表示、算术和逻辑运算;
(2) 掌握相关的应用数学、离散数学的基础知识;
(3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理;
(4) 掌握操作系统、程序设计语言的基础知识 , 了解编译程序的基本知识;
(5) 熟练掌握常用数据结构和常用算法;
(6) 熟悉数据库、网络和多媒体的基础知识;
(7) 掌握C程序设计语言 , 以及C++、Java、Visual、Basic、Visual C++中的一种程序设计语言;
(8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;
(9) 熟悉掌握软件设计的方法和技术;
(10) 掌握常用信息技术标准、安全性 , 以及有关法律、法规的基本知识;
(11) 了解信息化、计算机应用的基础知识;
(12) 正确阅读和理解计算机领域的英文资料 。
2.通过本考试的合格人员能根据软件开发项目管理和软件工程的要求 , 按照系统总体设计规格说明书进行软件设计 , 编写程序设计规格说明书等相应的文档 , 组织和指导程序员编写、调试程序 , 并对软件进行优化和集成测试 , 开发出符合系统总体设计要求的高质量软件;具有工程的实际工作能力和业务水平 。
3.本考试设置的科目包括:
(1) 计算机与软件工程知识 , 考试时间为150分钟 , 笔试;
(2) 软件设计 , 考试时间为150分钟 , 笔试 。
二、考试范围
考试科目1:计算机与软件工程知识
1.计算机科学基础
1.1 数制及其转换
· 二进制、十进制和十六进制等常用制数制及其相互转换
1.2 数据的表示
· 数的表示
· 非数值表示
· 校验方法和校验码
1.3 算术运算和逻辑运算
· 计算机中的二进制数运算方法
· 逻辑代数的基本运算和逻辑表达式的化简
1.4 数学基础知识
· 命题逻辑、谓词逻辑、形式逻辑的基础知识
· 常用数值计算
· 排列组合、概率论应用、应用统计
· 运算基本方法
1.5 常用数据结构
· 数组、线性表、链表、队列、栈、树、图等的定义、存储和操作
· Hash
1.6 常用算法
· 排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法
· 算法与数据结构的关系、算法效率、算法设计、算法描述、算法的复杂性
2.计算机系统知识
2.1 硬件知识
2.1.1 计算机系统的组成、体系结构分类及特性
· CPU和存储器的组成、性能和基本工作原理
· 常用I/O设备、通信设备的性能 , 以及基本工作原理
· I/O接口的功能、类型和特性
· I/O控制方式
· CISC/RISC , 流水线操作 , 多处理机 , 并行处理
2.1.2 存储系统
· 主存-Cache存储系统的工作原理
· 虚拟存储器基本工作原理 , 多级存储体系的性能价格
· RAID类型和特性
2.1.3 安全性、可靠性与系统性能评测基础知识
· 诊断与容错
· 系统可靠性分析评价
· 计算机系统性能评测方式
2.2 软件知识
2.2.1 操作系统知识
· 操作系统的内核、进程、线程概念
· 处理机管理
· 存储管理
· 设备管理
· 文件管理
· 作业管理、多道程序设计)
· 汉字处理 , 多媒体处理 , 人机界面
· 网络操作系统和嵌入式操作系统基础知识
· 操作系统的配置
2.2.2 程序设计语言和语言处理程序的知识
· 汇编、编译、解释系统的基础知识和基本工作原理
· 程序设计语言的基本成分:数据、运算、控制和传输 , 过程调用
· 各类程序设计语言主要特点和适用情况
2.3 计算机网络知识
· 网络体系结构
· 传输介质、传输技术、传输方法、传输控制
· 常用网络设备和各类通信设备
· Client/Server结构、Browser/Server结构
· LAN拓扑 , 存取控制 , LAN的组网 , LAN间连接 , LAN-WAN连接
· 因特网基础知识以及应用
· 网络软件
· 网络管理
· 网络性能分析
2.4 数据库知识
· 数据库管理系统的功能和特征
· 数据库模型
· 数据模型 , ER图 , 第一范式、第二范式、第三范式
· 数据操作
· 数据库语言
· 数据库的控制功能
· 数据仓库和分布式数据库基础知识
2.5 多媒体知识
· 多媒体系统基础知识 , 多媒体设备的性能特性 , 常用多媒体文件格式

推荐阅读