软件设计师考试大纲新.docx
《软件设计师考试大纲新.docx》由会员分享,可在线阅读,更多相关《软件设计师考试大纲新.docx(33页珍藏版)》请在冰点文库上搜索。
软件设计师考试大纲新
2013软件设计师考试大纲
一、考试说明
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.4其他数学基础知识
●常用数值计算
●排列组合,概率论应用,应用统计(数据的统计分析)
●编码基础
●命题逻辑、谓词逻辑、形式逻辑的基础知识
●运筹基本方法
2.计算机系统知识
2.1计算机硬件基础知识
2.1.1计算机系统的组成、体系结构分类及特性
●CPU、存储器的组成、性能和基本工作原理
●常用I/O设备、通信设备的性能以及基本工作原理
●I/O接口的功能、类型和特性
●CISC/RISC,流水线操作,多处理机,并行处理
2.1.2存储系统
●虚拟存储器基本工作原理,多级存储体系
●RAID类型和特性
2.1.3可靠性与系统性能评测基础知识
●诊断与容错
●系统可靠性分析评价
●计算机系统性能评测方法
2.2计算机软件知识
2.2.1数据结构与算法知识
●数组
●链表
●队列、栈
●树
●图的定义、存储和基本操作
●杂凑(Hash表)
●常用的排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法
●算法描述和分析
2.2.2操作系统知识
●操作系统的内核
●处理机管理
●存储管理
●设备管理
●文件管理
●作业管理
●网络操作系统和嵌入式操作系统基础知识
●操作系统的配置
2.2.3程序设计语言和语言处理程序知识
●汇编、编译、解释系统的基础知识和基本工作原理
●程序设计语言的基本成分(数据、运算、控制和传输),程序调用的实现机制
●各类程序设计语言的主要特点和适用情况
2.2.4数据库知识
●数据库模型(概念模式、外模式、内模式)
●数据模型,ER图,规范化
●数据操作
●数据库语言
●数据库管理系统的功能和特征
●数据库的控制功能
●数据仓库和分布式数据库基础知识
2.3计算机网络知识
●网络体系结构
●传输介质,传输技术,传输方法,传输控制
●常用网络设备和各类通信设备的特点
●Client-Server结构,Browser-Server结构
●LAN(拓扑,存取控制,组网,网间互连)
●Internet和Intranet基础知识以及应用
●网络软件
●网络管理,网络性能分析
2.4多媒体基础知识
●多媒体系统基础知识
●简单图形的绘制,图像文件的处理方法
●音频和视频信息的应用
●多媒体应用开发过程
3.系统开发和运行知识
3.1软件工程知识
●软件生存周期与软件生存周期模型
●软件开发方法
●软件开发项目管理
●软件开发工具与软件开发环境
3.2系统分析基础知识
●系统分析的主要步骤
●机构化分析方法
3.3系统设计基础知识
●概要设计与详细设计的基本任务
●系统设计的基本原理
●系统模块结构设计
●结构化设计方法
●面向数据结构的设计方法
●系统详细设计
3.4系统实施基础知识
●系统实施的基本内容
●程序设计方法
●程序设计的基本模块
●系统测试
●系统转换
3.5系统运行和维护基础知识
●系统可维护性的概念
●系统维护的类型
●系统评价的概念和类型
3.6软件质量管理基础知识
●软件质量特性(ISO/IEC9126软件质量模型)
●软件质量保证
●软件复杂性的概念及度量方法(McCabe度量法)
●软件评审(设计质量评审、程序质量评审)
●软件容错技术
3.7软件过程改进基础知识
●软件能力成熟度模型CMM
●统一过程(UP)与极限编程(XP)的基本概念
4.面向对象基础知识
●面向对象的基本概念
●面向对象分析与设计知识
●分析模式与设计模式知识
●面向对象程序设计知识
●面向对象数据库、分布式对象基础知识
5.信息安全知识
●信息系统安全基础知识
●信息系统安全管理
●保障完整性与可用性的措施
●加密与解密机制基础知识
●风险管理(风险分析、风险类型、抗风险措施和内部控制)
●计算机安全相关的法律、法规基础知识
6.标准化、信息化和知识产权基础知识
6.1标准化基础知识
●标准化意识,标准化组织机构,标准的内容、分类、代号与编号规定,标准制订过程
●国际标准、国家标准、行业标准、企业标准
●代码标准、文件格式标准、安全标准、互联网相关标准、软件开发规范和文档标准、基于构件的软件标准
6.2信息化基础知识
●全球信息化趋势、国家信息化战略、企业信息化战略和策略
●互联网相关的法律、法规
●个人信息保护规则
●远程教育、电子商务、电子政务等基础知识
●企业信息资源管理基础知识
6.3知识产权基础知识
●保护知识产权有关的法律、法规
7.计算机专业英语
●具有工程师所要求的英语阅读水平
●理解本领域的英语术语
考试科目2:
软件设计
1.外部设计
1.1理解系统需求说明
1.2准备进行系统开发
●选择开发方法、准备开发环境、制订开发计划
1.3设计系统功能
●选择系统结构
●设计各子系统的功能和接口
●设计安全性策略、需求和实现方法
●制订详细的工作流和数据流
1.4设计数据模型
●设计ER模型及其他数据模型
1.5编写外部设计文档
●系统配置图、各子系统关系图
●系统流程图、系统功能说明书
●输入输出规格说明、数据规格说明、用户手册框架
●设计系统测试要求
1.6外部设计的评审
2.内部设计
2.1设计软件结构
●按构件分解,确定构件功能、规格以及构件之间的接口
●数据结构与算法设计
●采用中间件和工具
2.2设计输入输出
2.3设计物理数据
2.4构件的创建和重用
●创建构件、重用构件
●使用子程序库或类库
2.5编写内部设计文档
●构件划分图、构件间的接口、构件处理说明
●屏幕界面设计文档、报表设计文档、文件设计文档、数据库设计文档
2.6内部设计的评审
3.数据库应用分析与设计
●设计关系模式
●数据库语言(SQL)
●数据库访问
4.程序设计
4.1模块划分
4.2编写程序设计文档
4.3程序设计评审
5.系统实施
5.1配置计算机系统及环境
5.2选择合适的程序设计语言
5.3用C程序设计语言以及C++、Java中的任一种程序设计语言进行程序设计
5.4系统测试
●指导程序员进行模块测试,并进行验收
●准备系统集成测试环境和测试工具
●准备测试数据
●写出测试报告
6.软件工程应用
6.1软件开发周期模型
6.2需求分析
6.3软件设计
●软件设计的基本原则
●软件设计方法
●程序设计(结构化程序设计、面向对象程序设计)
6.4软件测试的原则与方法
6.5软件质量(软件质量特性、软件质量控制)
6.6软件过程评估基本方法、软件能力成熟度评估基本方法
6.7软件开发环境和开发工具
6.8面向对象技术
●面向构件技术
●统一建模语言(UML)
●软件过程改进模型和方法
6.9网络环境软件技术
软件设计师培训指南
一、考试说明
1.考试目标
通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;具有工程师的实际工作能力和业务水平。
2.考试要求
(1)掌握计算机内的数据表示、算术和逻辑运算;
(2)掌握相关的应用数学及离散数学基础知识;
(3)掌握计算机体系结构以及各主要部件的性能和基本工作原理;
(4)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;
(5)熟练掌握常用数据结构和常用算法;
(6)熟悉数据库、网络和多媒体的基础知识;
(7)掌握C程序设计语言,以及C++、Java中的一种程序设计语言;
(8)熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;
(9)掌握软件设计的方法和技术;
(10)了解信息化、常用信息技术标准、安全性,以及有关法律、法规的基础知识;
(11)正确阅读和理解计算机领域的英文资料。
3.考试科目
(1)计算机与软件工程知识,考试时间为150分钟,笔试,选择题;
(2)软件设计,考试时间为150分钟,笔试,问答题。
二、考试内容
说明:
“I”、“II”和“III”表示掌握或熟悉的程度:
“I”是指对所列知识要理解其内容及含义(理解)。
“II”指在有关问题中能直接使用(一般应用)。
“III”是指对所列知识要理解其确切含义及与其它知识的联系,能够进行叙述和解释,并能在实际问题的分析、综合、推理和判断等过程中运用(综合应用)。
考试科目1:
计算机与软件工程知识
1.计算机科学基础知识
1.1数制及其转换
●二进制、八进制、十进制和十六进制等常用数制及其相互转换(Ⅱ)
1.2计算机内数据的表示
●数的表示
Ø带符号定点数据(纯整数和纯小数)的原码、反码、补码和移码表示(Ⅱ)
Ø浮点数(实数)的表示(Ⅱ)
Ø溢出的概念(Ⅱ)
1.3算术运算和逻辑运算
●计算机中的二进制数运算方法
Ø补码表示下定点数的加、减、乘、除运算方法(I)
●逻辑代数的基本运算
Ø基本的逻辑运算:
与、或、非、异或(Ⅱ)
1.4其他数学基础知识
●常用数值计算
Ø矩阵和行列式、近似求解、插值、数值积分、常微分方程等常用的数值运算方法及运算误差的概念(I)
●排列组合,概率论应用,应用统计(数据的统计分析)(I)
●编码基础(ASCⅡ码,汉字编码,奇偶校验,海明码,霍夫曼码、循环冗余码)
Ø奇偶校验码、海明码、霍夫曼码、循环冗余码的编码方法及指定实例时校验码的计算(I)
●命题逻辑、谓词逻辑、形式逻辑的基础知识(I)
2.计算机系统基础知识
2.1计算机硬件基础知识
2.1.1计算机系统的组成、体系结构分类及特性
●CPU、存储器的组成、性能和基本工作原理
ØCPU的基本组成结构(I)
Ø存储器的组成及特点:
内存、外存、缓存Cache)、闪存(Ⅱ)
Ø存储器的性能指标定义:
存取周期、存储容量和可靠性(Ⅱ)
●常用I/O设备、通信设备的性能以及基本工作原理(I)
●I/O接口的功能、类型和特性
ØCPU在与I/O设备进行数据交换时存在的主要问题:
速度不匹配、时序不匹配、信息格式不匹配、信息类型不匹配(I)
ØCPU与外设之间的数据交换必须通过接口来完成,I/O接口的主要功能(Ⅱ)
Ø接口的控制方式及特点:
CPU通过接口对外设进行控制的方式程序查询方式、中断处理方式、DMA(直接存储器存取)传送方式(Ⅱ)
●CISC/RISC,流水线操作,多处理机,并行处理
ØRISC(精简指令集计算机)和CISC(复杂指令集计算机)的定义和特点(I)
Ø流水线的定义及操作特点(Ⅱ)
Ø多处理机的概念(I)
Ø单指令流单数据流(SISD)、单指令流多数据流(SIMD)、多指令流单数据流(MISD)、多指令流多数据流(MIMD)的概念和特点(Ⅱ)
Ø并行处理的基本概念(I)
2.1.2存储系统
●虚拟存储器基本工作原理,多级存储体系
Ø虚拟存储器的定义和管理方式(I)
Ø多级存储体系的组成及特点(Ⅱ)
●RAID类型和特性
ØRAID的定义和基本特点(I)
ØRAID0~RAID7、RAID10、RAID53等规范的特征(I)
2.1.3可靠性与系统性能评测基础知识
●诊断与容错
Ø容错技术与容错控制(I)
●系统可靠性分析评价
Ø系统的可靠性定义(I)
Ø串联系统特点及可靠性度量(Ⅱ)
Ø并联系统特点及可靠性度量(Ⅱ)
Ø模冗余系统等可靠性数学模型的特点(I)
●计算机系统性能评测方法
Ø平均无故障时间(MTBF)的定义(I)
Ø平均修复时间(MTRF)的定义(I)
Ø可用性的定义(I)
2.2计算机软件基础知识
2.2.1数据结构与算法知识
●数组
Ø二维数组:
按行存储和按列存储,数组元素存储位置的计算(Ⅱ)
Ø特殊矩阵和稀疏矩阵的特点及压缩存储(Ⅱ)
Ø静态数组(固定容量数组)(I)
Ø动态数组(根据应用需要申请或扩充数组的容量)(I)
●链表
Ø线性表的定义和基本运算(I)
Ø线性表的顺序存储和特点(I)
Ø单向链表、双向链表和环形链表的运算特点(Ⅱ)
Ø指针、结点、头指针和头结点的概念(Ⅱ)
●队列和栈
Ø队列的定义、运算和存储结构(Ⅱ)
Ø栈的定义、运算和存储结构(Ⅱ)
●树
Ø二叉树的定义(Ⅱ)
Ø满二叉树、完全二叉树的定义(Ⅱ)
Ø二叉树的性质(Ⅱ)
Ø二叉树的顺序存储和二叉链表存储(Ⅱ)
Ø二叉树的遍历:
先序、中序、后序和层序(Ⅱ)
Ø最优二叉树的定义、特点和构造方法(Ⅱ)
Ø二叉排序树的定义和运算(Ⅱ)
Ø平衡二叉树、B-树、B+树的概念(I)
Ø树与二叉排序树的相互转换(Ⅱ)
●图
Ø图结构的定义(I)
Ø图的邻接矩阵存储和邻接表存储(I)
Ø图的广度优先遍历和深度优先遍历操作(Ⅱ)
●杂凑
Ø哈希(杂凑)表的构造、冲突的处理和元素的查找,平均查找长度的计算(Ⅱ)
●常用算法
Ø插入排序、冒泡排序、选择排序算法(Ⅲ)
Ø希尔排序、快速排序、堆排序、归并排序方法及特点(Ⅱ)
Ø顺序查找、二分查找方法及特点(Ⅲ)
Ø模式匹配算法(Ⅱ)
Ø图的遍历算法、求最小生成树算法、拓扑排序算法、求最短路径算法、求关键路径算法的算法思想(Ⅱ)
Ø递归算法的设计方法(Ⅱ)
●算法描述和分析
Ø算法的实现与数据结构的关系(Ⅱ)
Ø算法的效率分析(Ⅱ)
Ø算法的流程图、伪代码描述方式(Ⅱ)
Ø算法的时间复杂性和空间复杂性概念(I)
2.2.2操作系统知识
●操作系统的内核
Ø操作系统内核的功能和基本组成(I)
Ø内核与用户程序的运行方式差别(I)
Ø内核运行、中断控制的基本知识(I)
●处理机管理
Ø进程、线程等基本概念,程序顺序执行和并发执行的基本特征(I)
Ø进程的基本组成,进程的基本状态及状态间的切换,三态模型与五态模型(II)
Ø进程间的通信:
同步与互斥、临界资源、临界区、信号量、PV操作(II)
Ø管程的概念(I)
Ø进程调度方式及常用的进程调度算法(II)
Ø死锁的定义、产生死锁的原因、产生死锁的必要条件(II)
●存储管理
Ø虚拟地址、地址空间、存储空间、地址重定位的基本概念(I)
Ø分页存储管理(II)
Ø程序的局部性特点,虚拟存储器的实现方法(I)
Ø页面置换算法:
最佳置换算法、先进先出置换算法、最近最久未使用置换算法、最近未用置换算法(II)
●设备管理
Ø设备分类方法(I)
Ø通道、DMA的概念及特点(I)
ØSpooling(SimultaneousPeripheralOperationsOnLine)定义、组成和结构(I)
Ø磁盘调度算法:
先来先服务(First-ComeFirst-Served,FCFS)、最短寻道时间优先SSTF(ShortestSeekTimeFirst)、扫描算法(SCAN)、单向扫描调度算法(CSCAN)磁盘调度算法的基本思想(II)
●文件管理
Ø文件、文件系统、文件类型、文件组织结构的基本概念(I)
Ø文件的物理结构:
连续结构、链接结构、索引结构、多个物理块的索引表结构的基本概念(I)
Ø目录,一级目录、二级目录、多级目录的基本概念(I)
Ø文件的存取方法:
顺序存取法、直接存取法、按键存取法的基本概念(I)
Ø文件存储空间的管理:
位示图、空闲区表、空闲块链、成组链接法基本思想(I)
●作业管理
Ø作业的状态(提交、后备、执行、完成)、作业控制块和作业后备队列的基本概念(I)
Ø先来先服务、短作业优先、响应比高优先作业调度算法思想(II)
Ø优先级调度算法思想(II)
●网络操作系统和嵌入式操作系统基础知识
Ø网络操作系统的特征和分类(I)
Ø嵌入式操作系统的特点(I)
Ø操作系统的配置(I)
2.2.3程序设计语言和语言处理程序知识
●汇编、编译、解释系统的基础知识和基本工作原理
Ø语言翻译的基本概念(I)
Ø汇编的基本方法(I)
Ø编译的基本过程及编译各阶段的基本任务(I)
Ø解释的基本过程(I)
Ø有限自动机的定义及构造(Ⅱ)
Ø正规表达式的定义、构造及特点(Ⅱ)
Ø上下文无关文法的定义(I)
Ø句子的推导(Ⅱ)
●程序设计语言的基本成分:
数据、运算、控制和传输,程序调用的实现机制
Ø程序设计语言的数据、运算、控制及输入输出处理机制(I)
Ø函数的参数传递机制:
传值、传地址(Ⅱ)
●各类程序设计语言的主要特点和适用情况
Ø过程式程序语言、面向对象程序设计语言、函数式程序设计语言、逻辑程序设计语言的基本特点(I)
Ø脚本语言的特点(I)
2.2.4数据库知识
●数据库模型(概念模式、外模式、内模式)
Ø概念模式(模式)、外模式(用户模式或子模式)、内模式(物理模式)的基本概念(Ⅱ)
Ø三级模式和两级映像(模式/内模式映像、外模式/模式映像)的基本概念(Ⅱ)
Ø数据的独立性(数据的逻辑独立性、数据的物理独立性)的基本概念(Ⅱ)
●数据模型,ER图,规范化
Ø数据模型:
层次模型、网状模型、关系模型、面向对象模型的基本概念(Ⅰ)关系模型的应用方法(Ⅱ)
Ø数据模型的三要素(数据结构、数据操作、数据的约束条件)的含义(Ⅰ)
ØE-R模型方面的基本概念(Ⅱ);E-R图(E-R模型)向关系模型的转换的基本方法(Ⅱ)
Ø实体中主键、候选键、外键方面的基本概念(Ⅱ)
Ø联系类型(一对多(1:
1)、一对多(1:
n)、多对多(m:
n))的基础知识(Ⅱ)
Ø属性(简单属性、复合属性、单值属性、多值属性、NULL属性、派生属性)的含义(Ⅰ)
Ø关系模式规范化的程度:
第一、第二、第三范式(Ⅰ)
●数据操作
Ø关系数据库、关系数据库模式的基本概念(Ⅱ)
Ø关系模型的完整性规则:
实体完整性、参照完整性、用户定义完整性的基本概念(Ⅰ)
Ø5种基本的关系运算(并、差、笛卡尔积、投影、选择)的基本概念(Ⅰ);扩展的关系运算中选择、投影、连接运算方法(Ⅱ);扩展的关系运算中的除法、外联接方面的基本概念(Ⅰ)
●数据库语言
Ø数据定义语言(DDL):
CREATETABLE(创建表)使用方法(Ⅱ)
Ø数据操纵语言(DML):
SELECT(查询)、INSERT(插入)、DELETE(删除)和UPDATE(修改)使用方法(Ⅱ)
Ø完整性(integrity)定义:
PRIMARYKEY、FOREIGNKEYREFERENCES使用方法(Ⅱ)
Ø权限管理(authorization):
GRANT和REVORK使用方法(Ⅱ)
●数据库管理系统的功能和特征
Ø数据库管理系统的特征、功能与组成、文件系统的特征,文件系统与数据库管理系统的差异的基本概念(Ⅰ)
●数据库的控制功能
Ø事务的基本概念、事务的特性、故障的类型的基础知识(Ⅰ)
Ø数据不一致性(丢失修改、不可重复读、读脏数据)的基础知识(Ⅰ)
Ø并发控制中活锁/死锁、可串行性、两段锁协议的基本概念(Ⅰ)
Ø安全控制(权限机制、视图机制、加密机制)的基本概念(Ⅰ)
Ø事务、事务的特性、事务的状态、事务状态的转换的基本概念(Ⅰ)
Ø故障的类型、故障的恢复技术、恢复策略的基础知识(Ⅰ)
Ø并发控制后会产生丢失修改、不可重复读、读脏数据三类数据不一致性(Ⅰ),造成数据不一致性的原因(Ⅱ)
Ø并发控制中事务的调度(串行调度、并行调度)、活锁/死锁、可串行性、两段锁协议的基础知识(Ⅰ)
Ø安全控制(权限机制、视图机制、加密机制)的基本概念(Ⅰ)
●数据仓库和分布式数据库基础知识
Ø数据仓库(DataWarehouse,DW):
基本特性、数据模式、体系结构的基本概念(Ⅰ)
Ø数据仓库模型:
企业仓库、数据集市和虚拟仓库的基本概念(Ⅰ)
Ø分布式数据库的定义、体系结构、设计目标、分布数据独立的基本概念(Ⅰ)
2.3计算机网络知识
●网络体系结构
Ø网络拓扑(Ⅱ)
ØOSI/RM,TCP/IP(Ⅱ)
Ø常用的网络协议(Ⅱ)
●传输介质,传输技术,传输方法,传输控制(Ⅰ)
●常用网络设备和各类通信设备的功能和特点(Ⅰ)
●Client-Server结构、Browser-Server结构的特点(Ⅰ)
●局域网
Ø拓扑结构(Ⅱ)
Ø存取控制(Ⅰ)
Ø网间互连(Ⅰ)
●Internet和Intranet基础知识以及应用(Ⅱ)
●网络软件(Ⅰ)
●网络管理及网络性能分析(Ⅰ)
2.4多媒体基础知识
●多媒体系统基础知识
Ø媒体分类:
感觉媒体、表示媒体、表现媒体、存储媒体和传输媒体的基本概念(Ⅰ)
Ø多媒体、超媒体、流媒体的基本概念(Ⅰ)
Ø色彩的三基色、彩色空间、三要素基本概念(