《2023年[软考中的软件设计师考试大纲分析]软考中级软件设计师.docx》由会员分享,可在线阅读,更多相关《2023年[软考中的软件设计师考试大纲分析]软考中级软件设计师.docx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023年软考中的软件设计师考试大纲分析软考中级软件设计师 软考中的软件设计师考试大纲分析 一、考试说明分析 软件设计师考试的总体要求 软件设计师主要完成三项工作:(1)编写文档;(2)组织指导程序员开展工作;(3)软件优化和集成测试,开发高质量软件。本工作要求具有工程师的实际工作实力和业务水平。 详细讲就是,通过本考试的合格人 员,能依据软件开发项目管理和软 件工程的要求,根据系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件。 考试内容要求 学问点的驾驭程度从深到浅可分五
2、个层次,分别要求为娴熟驾驭、驾驭、理解、熟识和了解。其中包括2个娴熟驾驭(常用数据结构和常用算法、软件设计的方法和技术)、8个驾驭、2个熟识,1个正确理解,详细体现在以下12个方面: (1) 驾驭数据表示、算术和逻辑运算; (2) 驾驭相关的应用数学、离散数学的基础学问; (3) 驾驭计算机体系结构以及各主要部件的性能和基本工作原理; (4) 驾驭操作系统、程序设计语言的基础学问,了解编译程序的基本学问; (5) 娴熟驾驭常用数据结构和常用算法; (6) 熟识数据库、网络和多媒体的基础学问; (7) 驾驭C 程序设计语言,以及C+、Java 、Visual Basic、Visual C+中的一
3、种程序设计语言; (8) 熟识软件工程、软件过程改进和软件开发项目管理的基础学问; (9) 娴熟驾驭软件设计的方法和技术; (10) 驾驭常用信息技术标准、平安性,以及有关法律、法规的基本学问; (11) 了解信息化、计算机应用的基础学问; (12) 正确阅读和理解计算机领域的英文资料。 分析:相对于2023年考试大纲,新大纲对学问面的要求更宽,更注意软件设计开发的实践实力,这一点充分体现在下午考试中。考试内容除了技术要求外,还增加了对软件工程实践实力、平安性、标准化、法律法规等方面学问的要求,终归软件设计师是软件产业的骨干,因此考试要求相对较高。 二、考试范围 考试科目1:计算机与软件工程学
4、问 本部分包含以下内容: l 计算机科学基础 l 计算机系统学问 l 系统开发和运行学问 l 平安性学问 l 标准化学问 l 信息化基础学问 l 计算机专业英语 1计算机科学基础 1.1 数制及其转换 二进制、十进制和十六进制等常用制数制及其相互转换 1.2 数据的表示 (原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出) 非数值表示(字符和汉字表示、声音表示、图像表示) 校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码) 1.3 算术运算和逻辑运算 计算机中的二进制数运算方法 逻辑代数的基本运算和逻辑表达式的化简 【分析1.1 / 1.2 / 1.3】 本部分要求与程序员
5、考试大纲基本一样 重点:数的表示、校验码 难点:数的四种编码:原码、反码、补码、移码及相互之间的变换方法。浮点数的表示以及其规格化。 考试题型一般分布在:数制表示、数据表示、校验码的长度、逻辑表达式(公式、等效变换),明确“与”、“非”、“异或”的运算规则。 考试出现频率较高的内容:浮点数规格化、进制转换、求反补码。 1.4 数学基础学问 命题逻辑、谓词逻辑、形式逻辑的基础学问 常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分) 排列组合、概率论应用、应用统计(数据的统计分析) 运算基本方法(预料与决策、线性规划、网络图、模拟) 【分析1.4】 考纲要求驾驭相关的应用数学、离散数
6、学的基础学问 本部分内容作为背景学问,虽不特地考察,但在其他题目中尤其是程序设计中出现。 1.5 常用数据结构 数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作 Hash(存储地址计算,冲突处理) 1.6 常用算法 排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法 算法与数据结构的关系、算法效率、算法设计、算法描述(流程图、伪代码、决策表)、算法的困难性 【分析1.5/1.6】 因为数据结构是程序设计的基础,算法与数据结构亲密相关,因此本部分为考试重
7、点内容,要求娴熟驾驭。 重点:依次存储结构和链式存储结构的特点、链表中的头结点、栈的运算与溢出、循环队列的基本操作 数组元素的存储位置、特别矩阵的压缩存储、广义表的表头和表尾求法 二叉树存储方法、由遍历序列确定二叉树、二叉树的计数问题 图的遍历算法、最小生成树算法、拓朴排序和关键路径、最短路径算法 平均查找长度、折半查找判定树、平衡二叉树的最少结点数、插入运算及平衡化处理、哈希表的构造和查找 排序的稳定问题、快速排序的分析及改进、内部排序的时间下界、算法时间困难度分析 难点:二叉树节点与深度的关系、图的存储(矩阵、邻接表)与操作、遍历、 考试出现频率较高的内容:树的遍历、数据元素存储方式、查找
8、树、平衡树 考试题型一般分布在:数据元素存储方式、队和栈的性质及其对比、链表操作、二叉树的定义及其性质、二叉树的遍历/节点计算、树的遍历、查找树、平衡树等,图的概念及其性质。 常见的排序算法、查找算法、递归算法、算法的基本特点、常用算法思想、算法效率的比较(时间、空间困难度)、算法描述、算法困难性比较 2计算机系统学问 2.1 硬件学问 2.1.1 计算机系统的组成、体系结构分类及特性 CPU和存储器的组成、性能和基本工作原理 常用I/O设备、通信设备的性能,以及基本工作原理 I/O接口的功能、类型和特性 (中断系统、DMA 、I/O处理机方式) CISC/RISC,流水线操作,多处理机,并行
9、处理 2.1.2 存储系统 主存-Cache 存储系统的工作原理 虚拟存储器基本工作原理,多级存储体系的性能价格 RAID类型和特性 【分析2.1.1/2.1.2】 分析:磁盘存储器的容量计算、地址映射、流水线、系统结构分类 重点:Cache 替换算法、内存与接口的编址方式、流水线操作 难点:I/O限制方式、地址计算、并行处理的概念和层次 考试出现频率较高的内容:指令的寻址方式以及指令的执行过程;存储容量的计算、 流水线处理机的主要指标、CISC/RISC比较等 2.1.3 平安性、牢靠性与系统性能评测基础学问 诊断与容错 系统牢靠性分析评价 计算机系统性能评测方式 【分析2.1.3】本部分内
10、容多为记忆型内容 重点:数据加密/解密学问、计算机平安等级、认证技术、数字签名等 平均无故障时间、平均修复时间定义、计算机牢靠性模型、性能评价 难点:数据加密/解密学问、密钥体制 考试出现频率较高的内容:牢靠性能评价、数据平安学问、计算机牢靠性及性能评价 2.2 软件学问 2.2.1 操作系统学问 操作系统的内核(中断限制)、进程、线程概念 处理机管理(状态转换、共享与互斥、分时轮转、抢占、死锁) 存储管理(主存爱护、动态连接安排、分段、分页、虚存) 设备管理(I/O限制、假脱机) 文件管理(文件书目、文件组织、存取方法、存取限制、复原处理) 作业管理(作业调度、作业限制语言(JCL )、多道
11、程序设计) 汉字处理,多媒体处理,人机界面 网络操作系统和嵌入式操作系统基础学问 操作系统的配置 【分析2.2.1】 重点:操作系统的五大管理功能,其中如处理机管理、存储管理、作业调度、进程调度、页面调度等尤为重要、状态转换、共享与互斥、分时轮转、抢占、死锁 难点:作业调度、进程调度、页面调度算法、PV 操作 考试题型一般分布在:操作系统的概述、处理机管理、存储、文件管理、作业、进程调度、进程状态改变 考试出现频率较高的内容:PV 操作、进程死锁/同步、内存安排、并发执行程序、进程间状态转换、PV 实现进程间的同步与互斥、死锁及其避开、地址变换、页面置换、工作集 2.2.2 程序设计语言和语言
12、处理程序的学问 汇编、编译、说明系统的基础学问和基本工作原理 程序设计语言的基本成分:数据、运算、限制和传输,过程(函数)调用 各类程序设计语言主要特点和适用状况 【分析2.2.2】 分析:文法考查、自动机、正则式 重点:编译程序的基本组成、正则表达式和有限自动机、文法及语言的形式描述、中间代码、自动机原理、文法和语言的定义 考试出现频率较高的内容:正则表达式和正则集、有限自动机和正则表达式的转换 2.3 计算机网络学问 网络体系结构(网络拓扑、OSI/RM、基本的网络协议) 传输介质、传输技术、传输方法、传输限制 常用网络设备和各类通信设备 Client/Server结构、Browser/S
13、erver结构 LAN拓扑,存取限制,LAN 的组网,LAN 间连接,LAN-WAN 连接 因特网基础学问以及应用 网络软件 网络管理 网络性能分析 【分析2.3】 计算机网络中对OSI/RM七层的划分,及各种协议的功能。传输理论、互联设备、Internet 学问,除参考模型理论外,其他的比较比较琐碎,须要学问积累。 重点:网络分类、拓扑结构、OSI 参考模型层次划分及对应的协议、带宽计算、子网划分、防火墙技术 难点:IP 子网划分;传输限制、各层协议的功能 考试题型一般分布在:这部分学问除了上面的难点部格外,基本属于了解记忆性的学问点,学问点比较散乱,但考试中考点均落在大纲中列出的学问点中。
14、 考试出现频率较高的内容:TCP/IP协议、参考模型7层协议、IP 地址的分类、各种网络设备的比较; 2.4 数据库学问 数据库管理系统的功能和特征 数据库模型(概念模式、外模式、内模式) 数据模型,ER 图,第一范式、其次范式、第三范式 数据操作(集合运算和关系运算) 数据库语言(SQL ) 数据库的限制功能(并发限制、复原、平安性、完整性) 数据仓库和分布式数据库基础学问 【分析2.4】 无论对上午题目还是下午题目,本部分都很重要,这是学习和复习的一个重点。 重点:用E-R 模型表示现实问题,扩充的E-R 模型、ER 图向关系模式的转换、数据库语言(SQL )、对SELECT 查询语句的应
15、用、关系代数表达式、关系模型的完整性约束、函数依靠 难点:五种基本的关系运算方法、组合的关系运算方法、规则化理论()、函数依靠、分解的保持函数依靠、无损连接又保持函数依靠的分解、推断一个分解的无损连接性和保持函数 考试出现频率较高的内容:数据模型、关系运算与SQL 语句的转换、函数依靠 2.5 多媒体学问 多媒体系统基础学问,多媒体设备的性能特性,常用多媒体文件格式 简洁图形的绘制,图像文件的处理方法 音频和视频信息的应用 多媒体应用开发过程 【分析2.5】 基本属于了解记忆性的学问点。 重点:多媒体的基本概念、声音数字化的过程、图像压缩编码、视频文件的国际标准、流媒体概念、多媒体计算机系统、
16、虚拟现实技术 难点:多媒体信息的容量计算、数据压缩、常用多媒体文件格式、音频和视频的物理特征等 考试出现频率较高的内容:基本学问、信息的容量计算 2.6 系统性能学问 性能指标(响应时间、吞吐量、周转时间)和性能设计 性能测试和性能评估 牢靠性指标及计算、牢靠性设计 牢靠性测试和牢靠性评估 【分析2.6】 重点:牢靠性评估 考试出现频率较高的内容:系统牢靠性的计算、设备周转时间 2.7 计算机应用基础学问 信息管理、数据处理、协助设计、自动限制、科学计算、人工智能等基础学问 远程通信服务基础学问 常用应用系统 【分析2.7】 本部分内容不是考试重点,做一般了解即可。 3系统开发和运行学问 本部
17、分内容涉及上午考试和下午考试,是软件设计师工作实力的考查重点。 3.1 软件工程、软件过程改进和软件开发项目管理学问 软件工程学问 软件开发生命周期各阶段的目标和任务 软件开发项目管理基础学问(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常用管理工具 主要的软件开发方法(生命周期法、原型法、面对对象法、CASE ) 软件开发工具与环境学问 软件过程改进学问 软件质量管理学问 软件开发过程评估、软件实力成熟评估基础学问 【分析3.1】 重点:软件开发方法、CMM 、成本估算、风险分析、进度管理、人员管理、软件开发环境 3.2 系统分析基础学问 系统分析的目的和任务 结构化分析方法
18、(数据流图(DFD )、数据字典(DD )、实体关系图(ERD )、描述加工处理的结构化语言) 统一建模语言(UML ) 系统规格说明书 【分析3.2】 高度重视UML 在系统分析中的应用 重点:数据流图(DFD )、数据字典(DD )、实体关系图(ERD ) 考点:UML 的各类图 3.3 系统设计学问 系统设计的目的和任务 结构化设计方法和工具(系统流程图、HIPO 图、限制流程图) 系统总体结构设计(总体布局、设计原则、模块结构设计、数据存储设计、系统配置方案) 系统具体设计(代码设计、数据库设计、用户界面设计、处理过程设计) 系统设计说明书 【分析3.3】 重点:系统流程图、HIPO
19、图、限制流程图 3.4 系统实施学问 系统实施的主要任务 结构化程序设计、面对对象程序设计、可视化程序设计 程序设计风格 程序设计语言的选择 系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试) 测试设计和管理(错误曲线、错误解除、收敛、注入故障、测试用例设计、系统测试报告) 系统转换基础学问 3.5 系统运行和维护学问 系统运行管理基础学问 系统维护基础学问 系统评价基础学问 【分析3.4/3.5】 重点:结构化设计中信息流、变换分析、系统结构设计原则、系统划分、模块设计、数据存储设计、面对对象程序设计、测试方法、系统维护的分类 难点:系统测试方法、测试分类、系统可维护性评价指
20、标 3.6 面对对象开发方法 面对对象开发概念(类、对象、属性、封装性、继承性、多态性、对象之间的引用) 面对对象开发方法的优越性以及有效领域 面对对象设计方法(体系结构、类的设计、用户接口设计) 面对对象实现方法(选择程序设计语言、类的实现、方法的实现、用户接口的实现、打算测试数据) 面对对象程序设计语言(如C+、Java 、Visual 、Bsasic 、Visual C+)的基本机制 面对对象数据库、分布式对象的概念 【分析3.6】 重点:面对对象开发:类、对象、属性、封装性、继承性、多态性、OMT 方法 难点:建议在数据流图、结构化分析方法上多加驾驭。 【分析3】 考试题型一般分布在:
21、DFD 、软件的生存周期;数据流图;模块间的关系;软件测试的分类、软件质量管理(标准)软件的特性、主要的软件开发方法、系统测试、软件实力成熟评估 考试出现频率较高的内容:数据流图、黑盒/白盒测试、面对对象技术的概念 4平安性学问 平安性基本概念 防治计算机病毒、防范计算机犯罪 存取限制、防闯入、平安管理措施 加密与解密机制 风险分析、风险类型、抗风险措施和内部限制 【分析4】 系统平安问题是目前社会关注的问题,也是应用价值较高的学问,可结合现实中的相关问题来加深理解。 考试出现频率较高的内容:加密与解密算法、 5标准化学问 标准化意识、标准化的发展、标准制订过程 国际标准、国家标准、行业标准、
22、企业标准基本学问 代码标准、文件格式标准、平安标准、软件开发规范和文档标准学问 标准化机构 6信息化基础学问 信息化意识 全球信息化趋势、国家信息化战略、企业信息化战略和策略 有关的法律、法规 远程教化、电子商务、电子政务等基础学问 企业信息资源管理基础学问 【分析5/6】 信息化、标准化学问是新增考点。标准化方面有标准标识,标准修订等是对基本素养的考查,也要重视。 考试出现频率较高的内容 7计算机专业英语 驾驭计算机技术的基本词汇 能正确阅读和理解计算机领域的英文资料 【分析7】 专业英语,是对专业学问和英语水平的考查,考前需有意识阅读点英文专业资料。 考试题型一般分布在:软件行业标准,计算
23、机平安基础学问,信息化基础学问。 考试出现频率较高的内容:行业标准的类别;计算机平安,CMM 分类,计算机软件著作权问题。 考试科目2:软件设计 本部分详细内容如下: l 外部设计 l 内部设计 l 程序设计 l 系统实施 l 软件工程 本部分所涉及内容为软件设计的日常工作,这些内容同样出现在上午考试试题中。 1外部设计 1.1 理解系统需求说明 1.2 系统开发的打算 选择开发方法、打算开发环境、制订开发安排 1.3 设计系统功能 选择系统结构,设计各子系统的功能和接口,设计平安性策略、需求和实现方法,制订具体的工作流和数据流 1.4 设计数据模型 设计ER 模型、数据模型 1.5 编写外部
24、设计文档 系统配置图、各子系统关系图、系统流程图、系统功能说明书、输入输出规格说明、数据规格说明、用户手册框架 设计系统测试要求 1.6 设计评审 应能由考试说明内容,来阅读 2内部设计 2.1 设计软件结构 按构件分解,确定构件功能规格以及构件之间的接口 采纳中间件和工具 2.2 设计输入输出 屏幕界面设计、设计输入输出检查方法和检查信息 2.3 设计物理数据 分析数据特性,确定逻辑数据组织方式、存储介质,设计记录格式和处理方式 将逻辑数据结构换成物理数据结构,计算容量,进行优化 2.4 构件的创建和重用 创建、重用构件的概念 运用子程序库或类库 2.5 编写内部设计文档 构件划分图、构件间
25、的接口、构件处理说明、屏幕设计文档、报表设计文档、文件设计文档、数据库设计文档 2.6 设计评审 3程序设计 3.1 模块划分(原则、方法、标准) 3.2 编写程序设计文档 模块规格说明书(功能和接口说明、程序处理逻辑的描述、输入输出数据格式的描述) 测试要求说明书(测试类型和目标、测试用例、测试方法) 3.3 程序设计评审 4系统实施 4.1 配置计算机系统及其环境 4.2 选择合适的程序设计语言 4.3 驾驭C 程序设计语言,以及C+、Java 、Visual Basic、Visual C+中任一种程序设计语言,以便能指导程序员进行编程和测试,并进行必要的优化 4.4 系统测试 指导程序员
26、进行模块测试,并进行验收 打算系统集成测试环境和测试工具 打算测试数据 写出测试报告 5软件工程 软件生存期模型(瀑布模型、螺旋模型、喷泉模型)和软件成本模型 定义软件需求(系统化的目标、配置、功能、性能和约束) 描述软件需求的方法(功能层次模型、数据流模型、限制流模型、面对数据的模型、面对对象的模型等) 定义软件需求的方法(结构化分析方法、面对对象分析方法) 软件设计(分析与集成、逐步求精、抽象、信息隐藏) 软件设计方法(结构化设计方法、Jackson 方法、Warnier 方法、面对对象设计方法) 程序设计(结构化程序设计、面对对象程序设计) 软件测试的原则与方法 软件质量(软件质量特性、
27、软件质量限制) 软件过程评估基本方法、软件实力成熟度评估基本方法 软件开发环境和开发工具(分析工具、设计工具、编程工具、测试工具、维护工具、CASE ) 软件工程发展趋势(面对构件,统一建模语言(UML ) 软件过程改进模型和方法 本部分综合分析: 软件设计师,关键是设计软件的实力。考纲要求:要熟识软件工程、软件过程改进和软件开发项目管理的基础学问;娴熟驾驭软件设计的方法和技术;驾驭C 程序设计语言及指定的四种面对对象语言中的一种。这部分专业实力严峻依靠工作实践,要求有肯定阅历的积累,是具有工程师的实际工作实力和业务水平的体现。如无实践阅历,要学会借鉴,以取人之长,补已之短。 这部分主要体现在
28、下午考试中,现就如何应对下午考试进行分析: 近几次考试中下午试题分五个题目,一个数据库,一个程序填空题、一个面对对象的语言题,另两个题目分别为数据流图、UML 、或流程图等。 数据库题目,要求补全SQL 语言,这要求考生熟识SQL 的语言,无论对上午题目还是下午题目都很重要。这是学习和复习的一个重点。 数据流图,DFD 是一种分析系统数据流程的图形,意在让用户理解系统的功能、输入、输出和数据存储等。请仔细弄清其应用,在画出数据流图的状况下,系统的功能也就确定了,再经过细化,逐步向物理结构迈进。考核时,试题多从父图和子图的平衡来分析。这部分内容,一个解题的关键是高度重视题目说明,务必正确、深化理
29、解其内容,必要时要读几遍,同时对于给出的图表,也要务必看懂。这样答题就轻松了,答案实际就蕴含在说明中。 流程图类题目,是大家再熟识不过的了,它就一个详细问题的解题思路进行描述,是面对过程的。但所求问题是千差万别的,因此应理解思路,细心作答。 答题形式最简洁也是难度最大的是程序填空。为便于阅卷,这类题目以程序填空形式出现,这不仅要求理解问题本质,同时也要弄清作者解题思路,这一点比自己独立完成程序设计要难得的多。针对问题,首先设计自己的思路,如何解决问题,先后依次怎样;然后试读程序,如何思路大体一样,很好,这题简单解决了。如思路不一样,设法弄清每一段代码的 功能,其逻辑结构怎样,进而弄清命题人的解
30、题思路,再顺势解决问题。人们常讲,答案就在题目中,这是对的。在分析问题过程中,找到所求答案。不过前提条件是考生要熟识这种语言,又要明白解题思路,这样才能正确作答。这个题目比较难,要么不得分,要么得全分。 近年对于统一建模语言UML 考查较多,已引起了考生的留意。它代表了软件工程的发展趋势,目前是可视化建模的事实上的工业标准。人们对于图的理解相对其他形式更简单一些,图能更清楚地描述和说明问题的本质,因此,UML 体现了这一特点。这类题目难度与数据流图相像,自然解题思想也相同。从形式上看,数据流图更朴实一些,UML 类的题目则透出一种新奇、现代的气息。 最终的题目面对对象语言是一个选做题,给考生以自由,可以发挥个人的优势。命题已留意到不同语言的考查难度一样性,要求考生就同一问题回答,实现了形式上的公允,自然是一个进步。 来源:赛迪网校 现货原油 R6008mxehUmG