文档介绍:软考中的软件设计师考试大纲分析一、考试说明分析软件设计师考试的总体要求软件设计师主要完成三项工作:(1) 编写文档;(2) 组织指导程序员开展工作;(3) 软件优化和集成测试, 开发高质量软件。本工作要求具有工程师的实际工作能力和业务水平。具体讲就是, 通过本考试的合格人员, 能根据软件开发项目管理和软件工程的要求, 按照系统总体设计规格说明书进行软件设计, 编写程序设计规格说明书等相应的文档, 组织和指导程序员编写、调试程序, 并对软件进行优化和集成测试, 开发出符合系统总体设计要求的高质量软件。考试内容要求知识点的掌握程度从深到浅可分五个层次, 分别要求为熟练掌握、掌握、理解、熟悉和了解。其中包括 2 个熟练掌握( 常用数据结构和常用算法、软件设计的方法和技术)、8个掌握、 2 个熟悉, 1 个正确理解,具体体现在以下 12 个方面: (1) 掌握数据表示、算术和逻辑运算; (2) 掌握相关的应用数学、离散数学的基础知识; (3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理; (4) 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识; (5) 熟练掌握常用数据结构和常用算法; (6) 熟悉数据库、网络和多媒体的基础知识; (7) 掌握 C 程序设计语言,以及 C++ 、 Java 、 Visual Basic 、 Visual C++ 中的一种程序设计语言; (8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识; (9) 熟练掌握软件设计的方法和技术; (10) 掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识; (11) 了解信息化、计算机应用的基础知识; (12) 正确阅读和理解计算机领域的英文资料。分析:相对于 2001 年考试大纲,新大纲对知识面的要求更宽,更注重软件设计开发的实践能力, 这一点充分体现在下午考试中。考试内容除了技术要求外, 还增加了对软件工程实践能力、安全性、标准化、法律法规等方面知识的要求, 毕竟软件设计师是软件产业的骨干,因此考试要求相对较高。二、考试范围考试科目 1 :计算机与软件工程知识本部分包含以下内容: l 计算机科学基础 l 计算机系统知识 l 系统开发和运行知识 l 安全性知识 l 标准化知识 l 信息化基础知识 l 计算机专业英语 1 .计算机科学基础 数制及其转换· 二进制、十进制和十六进制等常用制数制及其相互转换 数据的表示· (原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出) · 非数值表示(字符和汉字表示、声音表示、图像表示) · 校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码) 算术运算和逻辑运算· 计算机中的二进制数运算方法· 逻辑代数的基本运算和逻辑表达式的化简【分析 / / 】本部分要求与程序员考试大纲基本一致重点:数的表示、校验码难点: 数的四种编码: 原码、反码、补码、移码及相互之间的变换方法。浮点数的表示以及其规格化。考试题型一般分布在: 数制表示、数据表示、校验码的长度、逻辑表达式( 公式、等效变换),明确“与”、“非”、“异或”的运算规则。考试出现频率较高的内容:浮点数规格化、进制转换、求反补码。 数学基础知识· 命题逻辑、谓词逻辑、形式逻辑的基础知识· 常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分) · 排列组合、概率论应用、应用统计(数据的统计分析) · 运算基本方法(预测与决策、线性规划、网络图、模拟) 【分析 】考纲要求掌握相关的应用数学、离散数学的基础知识本部分内容作为背景知识,虽不专门考察,但在其他题目中尤其是程序设计中出现。 常用数据结构· 数组( 静态数组、动态数组)、线性表、链表( 单向链表、双向链表、循环链表)、队列、栈、树( 二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作· Hash (存储地址计算,冲突处理) 常用算法· 排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法· 算法与数据结构的关系、算法效率、算法设计、算法描述(流程图、伪代码、决策表)、算法的复杂性【分析 】因为数据结构是程序设计的基础, 算法与数据结构密切相关, 因此本部分为考试重点内容,要求熟练掌握。重点: 顺序存储结构和链式存储结构的特点、链表中的头结点、栈的运算与溢出、循环队列的基本操作数组元素的存储位置、特殊矩阵的压缩存储、广义表的表头和表尾求法二叉树存储方法、由遍历序列确定二叉树、二叉树的计数问题图的遍历算法、最小生成树算法、拓朴排序和关键路径、最短路径算法平均查找长度、折半查找判定树、平衡二叉树的最少结点数、插入运算及