准备报名2024年软考软件设计师考试的考生都很关注考试大纲,目前并没有2024年软件设计师考试大纲改版的相关通知,以下为大家整理了往年软考软件设计师考试大纲,供大家参考。
一、考试说明
1.考试目标
通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和测试,开发出符合系统总体设计要求的高质量软件;具有工程师的实际工作能力和业务水平
2.考试要求
(1)掌握计算机内的数据表示、算术和逻辑运算方法;
(2)掌握相关的应用数学及离散数学基础知识;
(3)掌握计算机体系结构以及各主要部件的性能和基本工作原理;
(4)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;
(5)熟练掌握常用数据结构和常用算法;
(6)熟悉数据库与网络基础知识;
(7)熟练掌握一种结构化程序设计语言(C语言)和一面向对象程序设计语言(C++或Java);(8)熟悉软件工程、软件过程改进和软件开发项目管理基础知识;
(9)掌握软件设计的方法和技术;
(10)了解信息化、常用信息技术标准、安全性,以及有关法律、法规的基础知识;
(11)正确阅读和理解计算机领域的英文资料。
3.考试科目设置
(1)计算机与软件工程知识,考试时间为150分钟;
(2)软件设计,考试时间为150分钟。
二、考试范围
考试科目1.计算机与软件工程知识
1.计算机系统基础知识
1.1计算机内数据的表示及运算
数的表示
非数值表示(字符和汉字表示、声音表示图像表示)
计算机中的二进制数运算方法
逻辑代数的基本运算
1.2其他数学基础知识
常用数值
计算排列组合、概率论应用、应用统计(数据的统计分析)
编码基础
命题逻辑、谓词逻辑、形式逻辑的基础知识
运筹基本方法
1.3计算机硬件基础知识
1.3.1计算机系统的组成、体系结构分类及特性
CPU、存储器的组成、性能和基本工作原理
常用I/O设备、通信设备的性能以及基本工作原理
I/O接口的功能、类型和特性
CISC/RISC、流水线操作、多处理机、并行处理
1.3.2存储系统
虚拟存储器基本工作原理,多级存储体系
RAID类型和特性
网络存储技术
1.3.3可靠性与系统性能评测基础知识
诊断与容错
系统可靠性分析评价
计算机系统性能评测方法
1.4计算机软件知识
1.4.1数据结构与算法知识
数组
链表
队列、栈
树
图的定义、存储和基本运算
杂凑(Hash表)
常用的排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法
算法设计与分析
1.4.2操作系统知识
操作系统基本概念
处理机管理
存储管理
设备管理
文件管理
作业管理
操作系统的配置
1.4.3程序设计语言和语言处理程序知识
汇编、编译、解释系统的基础知识和基本工作原理
程序设计语言的基本成分(数据、运算、控制和传输),函数调用机制
各类程序设计语言的主要特点
1.4.4数据库知识
数据库系统基本概念
关系数据库理论
数据库设计
数据库语言
数据库新技术(非关系型数据库等)
1.5计算机网络知识
协议体系结构
传输介质与交换技术
常用网络设备与服务器
局域网络连接
Internet基础知识
TCP/IP协议
简单网络管理
1.6多媒体基础知识
2.系统开发和运行知识
2.1软件工程基础知识
软件生存周期与软件生存周期模型
软件开发方法
软件开发项目管理
软件工具与软件开发环境
软件过程改进(CMM等)
软件开发文档
2.2系统分析基础知识
系统分析方法与模型
2.3系统设计基础知识
系统设计的基本原理
软件体系结构基本概念
系统设计方法与模型
2.4软件测试基础知识
软件测试的基本概念
软件测试阶段
测试方法
测试用例设计
2.5系统运行和维护基础知识
系统维护的概念
系统转换
系统评价
2.6软件质量管理基础知识
软件质量特性(ISO/IEC9126软件质量模型)
软件质量保证
软件复杂性的概念及度量方法(Mccabe度量法)
软件评审(设计质量评审、程序质量评审)
软件容错技术
3.面向对象基础知识
面向对象的基本概念
面向对象分析与设计
分析模式与设计模式
面向对象程序设计
面向对象测试
4.网络与信息安全知识
信息安全基础
信息安全技术(加密与解密、认证、数字签名、摘要等)
网络安全技术
计算机安全等级及相关法律法规
5.标准化、信息化和知识产权基础知识
5.1标准化基础知识
5.2信息化基础知识
全球信息化趋势、国家信息化战略、企业信息化战略和策略
互联网相关的法律、法规知识
个人信息保护规则
远程教育、电子商务、电子政务等基础知识
企业信息资源管理基础知识
5.3知识产权基础知识
保护知识产权有关的法律、法规
6.软件开发新进展
软件开发新技术
云计算
大数据
应用领域进展
7.计算机专业英语
具有工程师所要求的英语阅读水平
理解本领域的英语术语
考试科目2.软件设计
1.结构化分析与设计
1.1需求分析
数据流图(DFD)
数据字典与加工逻辑
1.2数据流图变换
2.面向对象分析与设计
2.1统一建模语言(UML)
2.2基于用例的需求描述
2.3软件建模
2.4设计模式应用
3.数据库应用分析与设计
3.1E-R模型
3.2设计关系模式
3.3数据库语言(SQL)
3.4数据库访问
4.软件实现
4.1算法设计与分析
算法设计策略
算法分析
4.2程序设计
选择合适的程序设计语言
C语言程序设计
面向对象程序设计(C+或Java)
5.软件测试
单元测试
集成测试
系统测试
测试方法和测试用例
6.软件评审
6.1软件设计评审
6.2程序设计评审