软件设计师考试大纲

合集下载

软考中级软件设计师大纲

软考中级软件设计师大纲

软考中级软件设计师大纲一、考试目的软考中级软件设计师考试是由我国教育部委托国家信息技术教育标准化委员会(以下简称中软委)组织的专业技术人员资格考试。

其考试目的是为了选拔和评价软件设计师的专业技能和能力,以保障我国软件行业的人才质量和水平。

二、考试对象具备相关软件设计与开发经验的软件工程师、软件开发人员、信息系统工程师等,以及一切对软件设计师职业感兴趣的人士。

三、考试内容软考中级软件设计师考试的内容主要包括软件设计基础知识、软件架构设计、软件过程管理、软件设计模式、软件测试与质量保障、软件需求分析与设计、软件工程项目管理等方面的知识。

3.1 软件设计基础知识主要包括计算机科学基础、数据结构与算法、软件工程基础、数据库系统原理、操作系统原理等方面的基础知识。

3.2 软件架构设计主要包括软件体系架构设计、分布式系统设计、系统集成设计、安全与可靠性设计等方面的知识。

3.3 软件过程管理主要包括软件开发过程管理、软件配置管理、软件项目管理、软件质量管理、软件度量与评估等方面的知识。

3.4 软件设计模式主要包括面向对象设计模式、基于组件的软件设计模式、面向服务的软件设计模式等方面的知识。

3.5 软件测试与质量保障主要包括软件测试方法与技术、质量保障体系与方法、软件性能测试与优化等方面的知识。

3.6 软件需求分析与设计主要包括需求工程与需求分析、软件设计方法与思想、软件界面设计、软件体系结构设计等方面的知识。

3.7 软件工程项目管理主要包括软件项目计划与进度管理、项目风险管理、软件过程改进与度量、项目组织与沟通管理等方面的知识。

四、考试形式软考中级软件设计师考试的形式主要包括笔试和机试两种。

4.1 笔试笔试主要考察考生对软件设计师职业所需的各种基础知识和理论知识的掌握程度,题型主要包括单选题、多选题、填空题、解答题等。

4.2 机试机试主要考察考生对软件设计师职业的实际工作能力,题型主要包括代码编程、软件结构设计、数据库设计等。

软件设计师考试大纲

软件设计师考试大纲

考试科目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 分钟,笔试,问答题。

二、考试范围考试科目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/IEC 9126 软件质量模型)☆ 软件质量保证☆ 软件复杂性的概念及度量方法(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. 考试要求:(1)熟悉计算机基础知识;(2)熟悉操作系统、数据库、计算机网络和应用软件的基础知识;(3)熟悉软件工程知识,了解软件开发生命周期;(4)熟悉软件开发过程的项目管理;(5)掌握软件设计的方法和技术;(6)掌握C和C++语言的语法、语义和基本算法;(7)掌握实用的数据结构和算法,具有一定的软件开发能力。

2. 考试目标:本考试旨在测试考生是否具备软件设计师所需的各项技能和知识,能否在设计、实现和管理软件方面发挥领导作用,同时确保软件设计师具备职业道德和社会责任感。

3. 考试范围:本考试覆盖了软件工程、程序设计语言、数据结构和算法等多个领域的知识点,具体包括但不限于以下内容:(1)软件工程:包括软件开发生命周期、项目管理、需求分析、系统设计等;(2)程序设计语言:以C++语言为主,包括语法、语义和基本算法;(3)数据结构与算法:要求掌握常用的数据结构、排序和查找算法等;(4)软件开发实践:包括数据库设计、系统集成、测试和维护等。

二、考试方式1. 考试形式:笔试,闭卷。

2. 考试时间:考试时间为150分钟,满分100分。

3. 试题难易比例:容易题约40%,中等难度题约50%,难题约10%。

三、考试内容与要求1. 软件工程基础:包括软件开发生命周期、项目管理、需求分析等基本概念和工具的使用。

要求考生能够理解并应用这些知识进行实际的项目管理。

2. 程序设计语言基础:以C++语言为主,要求考生掌握语言的语法、语义和基本算法。

包括变量、函数、指针、类等基本概念和用法。

同时要求考生能够进行简单的文件操作。

3. 数据结构与算法:要求考生掌握常用的数据结构(如数组、链表、栈、队列等)和排序、查找算法的实现和应用。

能够分析算法的时间复杂度和空间复杂度。

4. 数据库设计基础:要求考生了解数据库的基本概念和SQL语言的使用,能够进行简单的数据库设计和操作。

5. 系统集成与测试维护:要求考生了解系统集成的方法和工具,理解测试和维护的流程和规范,能够进行简单的系统集成和测试维护工作。

软件设计师每章考纲

软件设计师每章考纲

第一章计算机系统知识1. 数值及其转换二进制、十进制和十六进制等常用数制及其相互转换2. 计算机内数据的表示●数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出)●非数值表示(字符和汉字表示、声音表示、图像表示)、校验方法和校验码3. 算术运算和逻辑运算●计算机中的二进制数运算方法●逻辑代数的基本运算4. 其他数学基础知识5. 计算机系统的组成、体系结构的分类及特性●CPU和存储器的组成、性能和基本工作原理●常用I/O设备、通信设备的性能以及基本工作原理●I/O接口的功能、类型和特性●CISC/RISC、流水线操作、多处理机、并行处理6. 存储系统●虚拟存储器的基本工作原理、多级存储体系●RAID的类型和特性7. 可靠性与系统性能评测的基础知识●诊断和容错●系统可靠性分析评价●计算机系统性能评测方式2013下半年上午1~6 6分Cache主存的地址映像、指令寄存器、逻辑运算、吞吐率、RISC特点、寻址范围2013上半年上午1~6 6分存储器构成、中断向量、多级中断嵌套、DMA工作方式、内存容量2012下半年上午1~6 6分CPU的部件、校验码、数的表示、存储器分类、CPU与外设的交换方式、系统总线组成2012上半年上午1~6 6分CPU对Cache的访问、存储单元、相联存储器、寻址方式、指令的执行过程命题特点纵观历次试卷,本章知识点是以选择题的形式出现在试卷中。

在历次考试上午试卷中,所考查的题量大约为6道选择题,所占分值为6分(约占试卷总分值75分中的8%)。

本章试题主要考蠢考生是否掌握了相关的理论知识,难度中等。

第二章程序语言基础知识●汇编、编译、解释系统的基础知识和基本工作原理●程序设计语言的基本成分(数据、运算、控制和传输),程序调用的实现机制●各类程序设计语言的主要特点和适用情况2013下半年上午20~22、48~50 6分参数传递、文法、后缀式、中间代码、有穷自动机、弱类型语言2013上半年上午20~22、48~50 6分编译和解释程序、传值调用与引用调用、编译过程、正规表达式、声明语句与可执行语句2012下半年上午20~22、48~50 6分程序语言、正规式、后缀式、编译程序功能、中间代码、程序2012上半年上午20~22、48~50 6分逻辑表达式、存储方式、后缀式、有限自动机、参数传递、编译与解释命题特点纵观历次试卷,本章知识点是以选择题的形式出现在试卷中。

2024年软件设计师考试大纲

2024年软件设计师考试大纲

1、在软件设计过程中,以下哪项活动主要用于确定系统的功能和非功能需求?A. 系统分析B. 系统测试C. 系统部署D. 系统维护(答案)A2、下列哪种设计模式主要用于创建一个对象的接口,让该对象的子类可以决定实例化哪一个类?A. 工厂方法模式B. 单例模式C. 原型模式D. 建造者模式(答案)A3、在面向对象编程中,以下哪个概念用于描述对象之间的相互作用和通信?A. 封装B. 继承C. 多态D. 消息传递(答案)D4、下列哪种工具通常用于软件项目的版本控制和协作开发?A. JIRAB. GitC. JenkinsD. Docker(答案)B5、在软件架构设计中,以下哪项原则强调系统应该设计成多个层次,每层只对上一层提供服务?A. 开闭原则B. 依赖倒置原则C. 单一职责原则D. 分层原则(答案)D6、下列哪种测试类型主要用于验证软件是否满足规定的需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试(答案)D7、在敏捷开发方法中,以下哪个角色负责协调团队工作,促进团队协作和沟通?A. 产品负责人B. Scrum MasterC. 开发工程师D. 测试工程师(答案)B8、下列哪种算法常用于解决最短路径问题?A. 冒泡排序B. 迪杰斯特拉算法C. 快速排序D. 二分查找(答案)B9、在数据库设计中,以下哪项活动涉及将概念数据模型转换为物理数据模型?A. 需求分析B. 逻辑设计C. 物理设计D. 数据字典编写(答案)C。

2023年软件设计师考试大纲

2023年软件设计师考试大纲

2023年软件设计师考试大纲摘要:一、考试说明1.考试目标2.考试要求3.考试科目4.考试范围二、计算机与软件工程知识1.数据表示、算术和逻辑运算方法2.应用数学及离散数学基础知识3.计算机体系结构以及各主要部件的性能和基本工作原理三、软件设计1.软件设计概述2.软件设计方法和工具3.软件设计实践四、软件设计师的工作职责和发展前景1.软件设计师的工作职责2.软件设计师的发展前景正文:2023 年软件设计师考试大纲旨在为软件设计师的考试提供指导。

该大纲分为四个部分,包括考试说明、计算机与软件工程知识、软件设计以及软件设计师的工作职责和发展前景。

首先,考试说明部分介绍了考试的目标、要求、科目和范围。

考试目标在于选拔具有工程师实际工作能力和业务水平的合格人员,要求应试者掌握计算机内的数据表示、算术和逻辑运算方法、相关的应用数学及离散数学基础知识,以及计算机体系结构以及各主要部件的性能和基本工作原理等。

考试科目包括计算机与软件工程知识和软件设计,考试范围涵盖上述各个方面。

其次,计算机与软件工程知识部分详细阐述了数据表示、算术和逻辑运算方法、应用数学及离散数学基础知识以及计算机体系结构以及各主要部件的性能和基本工作原理等方面的知识。

这些知识是软件设计师必备的基本素养,对于理解和应用软件设计相关知识具有重要意义。

接着,软件设计部分介绍了软件设计的基本概念、方法和实践。

软件设计是软件开发过程中的关键环节,涉及软件系统架构、模块划分、接口定义等多个方面。

该部分旨在帮助应试者掌握软件设计的基本原则和方法,提高软件设计能力。

最后,软件设计师的工作职责和发展前景部分阐述了软件设计师的工作职责,包括软件设计、编写程序设计规格说明书、组织和指导程序员编写、调试程序以及对软件进行优化和集成测试等。

同时,该部分还分析了软件设计师的发展前景,指出了软件行业对于软件设计师的需求以及软件设计师在职业生涯中可能面临的挑战和机遇。

总之,2023 年软件设计师考试大纲为软件设计师的考试提供了详细的指导,有助于应试者全面掌握软件设计师所需的知识和技能。

24年软考 软件设计师 考试大纲

24年软考 软件设计师 考试大纲

24年软考软件设计师考试大纲
2024年软件设计师考试大纲主要包括以下部分:
1. 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识。

2. 熟练掌握常用数据结构和常用算法。

3. 熟悉数据库与网络基础知识。

4. 熟练掌握一种结构化程序设计语言(如C语言)和一种面向对象程序设
计语言(如C++或Java)。

5. 熟悉软件工程、软件过程改进和软件开发项目管理基础知识。

6. 掌握软件需求分析和系统设计的工具和方法,熟悉软件设计的标准和规范。

7. 熟悉软件测试和软件维护的基础知识和技能。

8. 掌握数据结构和算法设计、软件工程、面向对象编程等计算机科学和软件工程的核心概念和技术。

9. 能够编写高质量的代码,按照要求进行软件设计和文档编写。

10. 具备良好的团队协作和沟通能力,能够有效地解决问题和应对挑战。

通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和测试,开发出符合系统总体设计要求的高质量软件;具有工程师的实际工作能力和业务水平。

以上信息仅供参考,具体大纲内容可能会有所不同,建议以官方发布的信息为准。

软件设计师考试大纲

软件设计师考试大纲

软件设计师考试大纲(最新版)一、考试说明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控制方式(中断系统、DMA、I/O处理机方式)• CISC/RISC,流水线操作,多处理机,并行处理2.1.2 存储系统• 主存-Cache存储系统的工作原理• 虚拟存储器基本工作原理,多级存储体系的性能价格• RAID类型和特性2.1.3 安全性、可靠性与系统性能评测基础知识• 诊断与容错• 系统可靠性分析评价• 计算机系统性能评测方式2.2 软件知识2.2.1 操作系统知识• 操作系统的内核(中断控制)、进程、线程概念• 处理机管理(状态转换、共享与互斥、分时轮转、抢占、死锁)• 存储管理(主存保护、动态连接分配、分段、分页、虚存)• 设备管理(I/O控制、假脱机)• 文件管理(文件目录、文件组织、存取方法、存取控制、恢复处理)• 作业管理(作业调度、作业控制语言(JCL)、多道程序设计)• 汉字处理,多媒体处理,人机界面• 网络操作系统和嵌入式操作系统基础知识• 操作系统的配置2.2.2 程序设计语言和语言处理程序的知识• 汇编、编译、解释系统的基础知识和基本工作原理• 程序设计语言的基本成分:数据、运算、控制和传输,过程(函数)调用• 各类程序设计语言主要特点和适用情况2.3 计算机网络知识• 网络体系结构(网络拓扑、OSI/RM、基本的网络协议)• 传输介质、传输技术、传输方法、传输控制• 常用网络设备和各类通信设备• Client/Server结构、Browser/Server结构• LAN拓扑,存取控制,LAN的组网,LAN间连接,LAN-WAN连接• 因特网基础知识以及应用• 网络软件• 网络管理• 网络性能分析2.4 数据库知识• 数据库管理系统的功能和特征• 数据库模型(概念模式、外模式、内模式)• 数据模型,ER图,第一范式、第二范式、第三范式• 数据操作(集合运算和关系运算)• 数据库语言(SQL)• 数据库的控制功能(并发控制、恢复、安全性、完整性)• 数据仓库和分布式数据库基础知识2.5 多媒体知识• 多媒体系统基础知识,多媒体设备的性能特性,常用多媒体文件格式• 简单图形的绘制,图像文件的处理方法• 音频和视频信息的应用• 多媒体应用开发过程2.6 系统性能知识• 性能指标(响应时间、吞吐量、周转时间)和性能设计• 性能测试和性能评估• 可靠性指标及计算、可靠性设计• 可靠性测试和可靠性评估2.7 计算机应用基础知识•信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等基础知识• 远程通信服务基础知识• 常用应用系统3.系统开发和运行知识3.1 软件工程、软件过程改进和软件开发项目管理知识• 软件工程知识• 软件开发生命周期各阶段的目标和任务• 软件开发项目管理基础知识(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常用管理工具• 主要的软件开发方法(生命周期法、原型法、面向对象法、CASE)• 软件开发工具与环境知识• 软件过程改进知识• 软件质量管理知识• 软件开发过程评估、软件能力成熟评估基础知识3.2 系统分析基础知识• 系统分析的目的和任务•结构化分析方法(数据流图(DFD)、数据字典(DD)、实体关系图(ERD)、描述加工处理的结构化语言)• 统一建模语言(UML)• 系统规格说明书3.3 系统设计知识• 系统设计的目的和任务• 结构化设计方法和工具(系统流程图、HIPO图、控制流程图)• 系统总体结构设计(总体布局、设计原则、模块结构设计、数据存储设计、系统配置方案)• 系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计)• 系统设计说明书3.4 系统实施知识• 系统实施的主要任务• 结构化程序设计、面向对象程序设计、可视化程序设计• 程序设计风格• 程序设计语言的选择• 系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试)• 测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试用例设计、系统测试报告)• 系统转换基础知识3.5 系统运行和维护知识• 系统运行管理基础知识• 系统维护基础知识• 系统评价基础知识3.6 面向对象开发方法• 面向对象开发概念(类、对象、属性、封装性、继承性、多态性、对象之间的引用)• 面向对象开发方法的优越性以及有效领域• 面向对象设计方法(体系结构、类的设计、用户接口设计)• 面向对象实现方法(选择程序设计语言、类的实现、方法的实现、用户接口的实现、准备测试数据)• 面向对象程序设计语言(如C++、Java、Visual、Bsasic、Visual C++)的基本机制• 面向对象数据库、分布式对象的概念4.安全性知识• 安全性基本概念• 防治计算机病毒、防范计算机犯罪• 存取控制、防闯入、安全管理措施• 加密与解密机制•风险分析、风险类型、抗风险措施和内部控制5.标准化知识• 标准化意识、标准化的发展、标准制订过程• 国际标准、国家标准、行业标准、企业标准基本知识• 代码标准、文件格式标准、安全标准、软件开发规范和文档标准知识• 标准化机构6.信息化基础知识• 信息化意识• 全球信息化趋势、国家信息化战略、企业信息化战略和策略• 有关的法律、法规• 远程教育、电子商务、电子政务等基础知识• 企业信息资源管理基础知识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.程序设计3.1 模块划分(原则、方法、标准)3.2 编写程序设计文档• 模块规格说明书(功能和接口说明、程序处理逻辑的描述、输入输出数据格式的描述)• 测试要求说明书(测试类型和目标、测试用例、测试方法)3.3 程序设计评审4.系统实施4.1 配置计算机系统及其环境4.2 选择合适的程序设计语言4.3 掌握C程序设计语言,以及C++、Java、Visual、Basic、Visual C++中任一种程序设计语言,以便能指导程序员进行编程和测试,并进行必要的优化4.4 系统测试• 指导程序员进行模块测试,并进行验收• 准备系统集成测试环境和测试工具• 准备测试数据• 写出测试报告5.软件工程• 软件生存期模型(瀑布模型、螺旋模型、喷泉模型)和软件成本模型• 定义软件需求(系统化的目标、配置、功能、性能和约束)• 描述软件需求的方法(功能层次模型、数据流模型、控制流模型、面向数据的模型、面向对象的模型等)• 定义软件需求的方法(结构化分析方法、面向对象分析方法)• 软件设计(分析与集成、逐步求精、抽象、信息隐蔽)• 软件设计方法(结构化设计方法、Jackson方法、Warnier方法、面向对象设计方法)• 程序设计(结构化程序设计、面向对象程序设计)• 软件测试的原则与方法• 软件质量(软件质量特性、软件质量控制)• 软件过程评估基本方法、软件能力成熟度评估基本方法• 软件开发环境和开发工具(分析工具、设计工具、编程工具、测试工具、维护工具、CASE)• 软件工程发展趋势(面向构件,统一建模语言(UML))•软件过程改进模型和方法。

2022年软件设计师考纲

2022年软件设计师考纲

软件设计师考试考纲一、考试阐明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/IEC 9126软件质量模型)·软件质量保证·软件复杂性旳概念及度量措施(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.数据库应用分析与设计·设计关系模式·数据库语言(SQ·)·数据库访问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.考试目旳通过本考试旳合格人员能根据软件开发项目管理和软件工程旳规定,按照系统总体设计规格阐明书进行软件设计,编写程序设计规格阐明书等相应旳文档,组织和指引程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计规定旳高质量软件;具有工程师旳实际工作能力和业务水平。

软件设计师考试大纲

软件设计师考试大纲

软件设计师考试大纲一、考试概述软件设计师考试是一种测试软件设计师技能和能力的专业认证考试。

该考试旨在评估考生在软件设计和开发方面的知识和技能,包括软件需求分析、架构设计、系统设计等方面的能力。

该认证考试由国家软件职业资格认证中心负责组织和管理。

二、考试内容1. 软件需求分析考生需要了解软件需求的概念和分类,掌握需求获取和分析的方法与技巧,能够制定详细的需求规格说明等。

2. 软件架构设计考生需要熟悉软件架构的基本原理和常用架构风格,能够进行系统架构设计,包括模块划分、接口设计、数据流程设计等。

3. 软件系统设计考生需要掌握系统设计的基本理论和方法,能够进行系统功能模块的设计和实现。

此外,还需要了解软件设计的几个关键方面,如并发控制、错误处理、数据安全等。

4. 软件测试与调试考生需要具备软件测试的基本知识和技能,能够编写测试用例、执行测试计划,并能进行软件调试和故障排除。

5. 软件质量保证考生需要了解软件质量保证的概念和原则,以及常见的质量管理方法和工具,能够进行软件质量评估和改进工作。

6. 软件工程考生需要了解软件工程的基本原理和方法,熟悉软件开发流程和各个阶段的工作内容,能够有效组织和管理软件开发项目。

三、考试形式软件设计师考试分为两个阶段:理论考试和实践考试。

1. 理论考试理论考试采用闭卷形式,考试时间为3小时。

考试内容包括上述提到的软件设计与开发相关的知识点,考生需要回答一系列选择题和简答题。

2. 实践考试实践考试为机器考试,考试时间为4小时。

考试内容涉及软件设计和开发的实际操作,考生需要根据所给问题完成相应的编码任务,并验证代码的正确性。

四、考试要求1. 知识掌握考生需要熟练掌握软件设计与开发领域的基本理论和方法,了解最新的技术趋势和发展动态。

2. 实践能力考生需要具备一定的软件设计和开发实践经验,能够根据实际需求进行系统设计和开发,并能解决相关的技术问题。

3. 专业素养考生需要具备职业道德和职业素养,能够遵守相关的行业规范和伦理要求,保持学习和自我提升的态度。

软件设计师(高级程序员)考试大纲

软件设计师(高级程序员)考试大纲

软件设计师(高级程序员)考试大纲一、考试说明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控制方式(中断系统、DMA、I/O处理机方式)· CISC/RISC,流水线操作,多处理机,并行处理2.1.2 存储系统· 主存-Cache存储系统的工作原理· 虚拟存储器基本工作原理,多级存储体系的性能价格· RAID类型和特性2.1.3 安全性、可靠性与系统性能评测基础知识· 诊断与容错· 系统可靠性分析评价· 计算机系统性能评测方式2.2 软件知识2.2.1 操作系统知识· 操作系统的内核(中断控制)、进程、线程概念· 处理机管理(状态转换、共享与互斥、分时轮转、抢占、死锁)· 存储管理(主存保护、动态连接分配、分段、分页、虚存)· 设备管理(I/O控制、假脱机)· 文件管理(文件目录、文件组织、存取方法、存取控制、恢复处理)· 作业管理(作业调度、作业控制语言(JCL)、多道程序设计)· 汉字处理,多媒体处理,人机界面· 网络操作系统和嵌入式操作系统基础知识· 操作系统的配置2.2.2 程序设计语言和语言处理程序的知识· 汇编、编译、解释系统的基础知识和基本工作原理· 程序设计语言的基本成分:数据、运算、控制和传输,过程(函数)调用· 各类程序设计语言主要特点和适用情况2.3 计算机网络知识· 网络体系结构(网络拓扑、OSI/RM、基本的网络协议)· 传输介质、传输技术、传输方法、传输控制· 常用网络设备和各类通信设备· Client/Server结构、Browser/Server结构· LAN拓扑,存取控制,LAN的组网,LAN间连接,LAN-WAN连接· 因特网基础知识以及应用· 网络软件· 网络管理· 网络性能分析2.4 数据库知识· 数据库管理系统的功能和特征· 数据库模型(概念模式、外模式、内模式)· 数据模型,ER图,第一范式、第二范式、第三范式· 数据操作(集合运算和关系运算)· 数据库语言(SQL)· 数据库的控制功能(并发控制、恢复、安全性、完整性)· 数据仓库和分布式数据库基础知识2.5 多媒体知识· 多媒体系统基础知识,多媒体设备的性能特性,常用多媒体文件格式· 简单图形的绘制,图像文件的处理方法· 音频和视频信息的应用· 多媒体应用开发过程2.6 系统性能知识· 性能指标(响应时间、吞吐量、周转时间)和性能设计· 性能测试和性能评估· 可靠性指标及计算、可靠性设计· 可靠性测试和可靠性评估2.7 计算机应用基础知识·信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等基础知识· 远程通信服务基础知识· 常用应用系统3.系统开发和运行知识3.1 软件工程、软件过程改进和软件开发项目管理知识· 软件工程知识· 软件开发生命周期各阶段的目标和任务· 软件开发项目管理基础知识(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常用管理工具· 主要的软件开发方法(生命周期法、原型法、面向对象法、CASE)· 软件开发工具与环境知识· 软件过程改进知识· 软件质量管理知识· 软件开发过程评估、软件能力成熟评估基础知识3.2 系统分析基础知识· 系统分析的目的和任务·结构化分析方法(数据流图(DFD)、数据字典(DD)、实体关系图(ERD)、描述加工处理的结构化语言)· 统一建模语言(UML)· 系统规格说明书3.3 系统设计知识· 系统设计的目的和任务· 结构化设计方法和工具(系统流程图、HIPO图、控制流程图)· 系统总体结构设计(总体布局、设计原则、模块结构设计、数据存储设计、系统配置方案)· 系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计)· 系统设计说明书3.4 系统实施知识· 系统实施的主要任务· 结构化程序设计、面向对象程序设计、可视化程序设计· 程序设计风格· 程序设计语言的选择· 系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试)· 测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试用例设计、系统测试报告)· 系统转换基础知识3.5 系统运行和维护知识· 系统运行管理基础知识· 系统维护基础知识· 系统评价基础知识3.6 面向对象开发方法· 面向对象开发概念(类、对象、属性、封装性、继承性、多态性、对象之间的引用)· 面向对象开发方法的优越性以及有效领域· 面向对象设计方法(体系结构、类的设计、用户接口设计)· 面向对象实现方法(选择程序设计语言、类的实现、方法的实现、用户接口的实现、准备测试数据)· 面向对象程序设计语言(如C++、Java、Visual、Bsasic、Visual C++)的基本机制· 面向对象数据库、分布式对象的概念4.安全性知识· 安全性基本概念· 防治计算机病毒、防范计算机犯罪· 存取控制、防闯入、安全管理措施· 加密与解密机制·风险分析、风险类型、抗风险措施和内部控制5.标准化知识· 标准化意识、标准化的发展、标准制订过程· 国际标准、国家标准、行业标准、企业标准基本知识· 代码标准、文件格式标准、安全标准、软件开发规范和文档标准知识· 标准化机构6.信息化基础知识· 信息化意识· 全球信息化趋势、国家信息化战略、企业信息化战略和策略· 有关的法律、法规· 远程教育、电子商务、电子政务等基础知识· 企业信息资源管理基础知识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.程序设计3.1 模块划分(原则、方法、标准)3.2 编写程序设计文档· 模块规格说明书(功能和接口说明、程序处理逻辑的描述、输入输出数据格式的描述)· 测试要求说明书(测试类型和目标、测试用例、测试方法)3.3 程序设计评审4.系统实施4.1 配置计算机系统及其环境4.2 选择合适的程序设计语言4.3 掌握C程序设计语言,以及C++、Java、Visual、Basic、Visual C++中任一种程序设计语言,以便能指导程序员进行编程和测试,并进行必要的优化4.4 系统测试· 指导程序员进行模块测试,并进行验收· 准备系统集成测试环境和测试工具· 准备测试数据· 写出测试报告5.软件工程·软件生存期模型(瀑布模型、螺旋模型、喷泉模型)和软件成本模型·定义软件需求(系统化的目标、配置、功能、性能和约束)·描述软件需求的方法(功能层次模型、数据流模型、控制流模型、面向数据的模型、面向对象的模型等)·定义软件需求的方法(结构化分析方法、面向对象分析方法)·软件设计(分析与集成、逐步求精、抽象、信息隐蔽)·软件设计方法(结构化设计方法、Jackson方法、Warnier方法、面向对象设计方法)·程序设计(结构化程序设计、面向对象程序设计)· 软件测试的原则与方法· 软件质量(软件质量特性、软件质量控制)·软件过程评估基本方法、软件能力成熟度评估基本方法·软件开发环境和开发工具(分析工具、设计工具、编程工具、测试工具、维护工具、CASE)·软件工程发展趋势(面向构件,统一建模语言(UML))·软件过程改进模型和方法。

2023年软考软件设计师大纲

2023年软考软件设计师大纲

注:2023年上六个月考试软件设计师大纲为2023年版新版大纲。

参照资料为2023年版修编教材。

大概考试时间为5月26日。

考试阐明1.考试目旳通过本考试旳合格人员能根据软件开发项目管理和软件工程旳规定,按照系统总体设计规格阐明书进行软件设计,编写程序设计规格阐明书等对应旳文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计规定旳高质量软件;具有工程师旳实际工作能力和业务水平。

2.考试规定(1) 掌握计算机内旳数据表达、算术和逻辑运算措施;(2) 掌握有关旳应用数学及离散数学基础知识;(3) 掌握计算机体系构造以及各重要部件旳性能和基本工作原理;(4) 掌握操作系统、程序设计语言旳基础知识,理解编译程序旳基本知识;(5) 纯熟掌握常用数据构造和常用算法;(6) 熟悉数据库、网络和多媒体旳基础知识;(7) 掌握C程序设计语言,以及C++、Java中旳一种程序设计语言;(8) 熟悉软件工程、软件过程改善和软件开发项目管理旳基础知识;(9) 掌握软件设计旳措施和技术;(10) 理解信息化、常用信息技术原则、安全性,以及有关法律、法规旳基础知识;(11) 对旳阅读和理解计算机领域旳英文资料。

3.考试科目(1) 计算机与软件工程知识,考试时间为150分钟,笔试,选择题;(75 * 1)(2) 软件设计,考试时间为150分钟,笔试,问答题。

(15 * 5)1.数据流图2.数据库设计3.UML分析与设计4.C语言算法5.C++程序设计|| Java程序设计考试科目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/IEC 9126软件质量模型)·软件质量保证·软件复杂性旳概念及度量措施(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 网络环境软件技术。

2023中级软件设计师考纲

2023中级软件设计师考纲

2023中级软件设计师考纲
2023中级软件设计师的考试大纲主要包括以下内容:
1.掌握数据表示、算术和逻辑运算。

2.掌握相关的应用数学、离散数学的基础知识。

3.掌握计算机体系结构以及各主要部件的性能和基本工作原理。

4.掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识。

5.熟练掌握常用数据结构和常用算法。

6.熟悉数据库、网络和多媒体的基础知识。

7.掌握C程序设计语言,以及C++、Java、Visual Basic、Visual C++中的一种程序设
计语言。

8.熟悉软件工程、软件过程改进和软件开发项目管理的基础知识。

9.熟练掌握软件设计的方法和技术。

10.掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识。

11.了解信息化、计算机应用的基础知识。

12.正确阅读和理解计算机领域的英文资料。

考试科目设置包括计算机与软件工程知识、软件设计。

其中,计算机与软件工程知识考试时间为150分钟,考试形式为笔试,选择题,满分75分;软件设计考试时间为150分钟,考试形式为笔试,问答题,满分75分。

软件考试大纲

软件考试大纲

计算机技术与软件专业技术资格(水平)考试简介软件设计师考试大纲一、考试说明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.2 数据的表示〃数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出)〃非数值表示(字符和汉字表示、声音表示、图像表示)〃校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码)1.3 算术运算和逻辑运算〃逻辑代数的基本运算和逻辑表达式的化简1.4 数学基础知识〃命题逻辑、谓词逻辑、形式逻辑的基础知识〃常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分)〃排列组合、概率论应用、应用统计(数据的统计分析)〃运算基本方法(预测与决策、线性规划、网络图、模拟)1.5 常用数据结构〃数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作〃Hash (存储地址计算,冲突处理)1.6 常用算法〃排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法〃算法与数据结构的关系、算法效率、算法设计、算法描述(流程图、伪代码、决策表)、算法的复杂性2.计算机系统知识2.1 硬件知识2.1.1 计算机系统的组成、体系结构分类及特性〃CPU 和存储器的组成、性能和基本工作原理〃常用 I/O 设备、通信设备的性能,以及基本工作原理〃I/O 接口的功能、类型和特性〃I/O 控制方式(中断系统、DMA、I/O 处理机方式)〃CISC/RISC,流水线操作,多处理机,并行处理2.1.2 存储系统〃主存-Cache 存储系统的工作原理〃虚拟存储器基本工作原理,多级存储体系的性能价格〃RAID 类型和特性2.1.3 安全性、可靠性与系统性能评测基础知识〃诊断与容错〃系统可靠性分析评价〃计算机系统性能评测方式2.2 软件知识2.2.1 操作系统知识〃操作系统的内核(中断控制)、进程、线程概念〃处理机管理(状态转换、共享与互斥、分时轮转、抢占、死锁)〃存储管理(主存保护、动态连接分配、分段、分页、虚存)〃设备管理( I/O 控制、假脱机)〃文件管理(文件目录、文件组织、存取方法、存取控制、恢复处理)〃作业管理(作业调度、作业控制语言( JCL )、多道程序设计)〃汉字处理,多媒体处理,人机界面〃网络操作系统和嵌入式操作系统基础知识〃操作系统的配置2.2.2 程序设计语言和语言处理程序的知识〃汇编、编译、解释系统的基础知识和基本工作原理〃程序设计语言的基本成分:数据、运算、控制和传输,过程(函数)调用〃各类程序设计语言主要特点和适用情况2.3 计算机网络知识〃网络体系结构(网络拓扑、OSI/RM、基本的网络协议)〃传输介质、传输技术、传输方法、传输控制常用网络设备和各类通信设备Client/Server 结构、Browser/Server 结构LAN 拓扑,存取控制,LAN 的组网,LAN 间连接,LAN-WAN 连接因特网基础知识以及应用网络软件网络管理网络性能分析2.4 数据库知识数据库管理系统的功能和特征数据库模型(概念模式、外模式、内模式)数据模型,ER 图,第一范式、第二范式、第三范式数据操作(集合运算和关系运算)数据库语言(SQL)数据库的控制功能(并发控制、恢复、安全性、完整性)数据仓库和分布式数据库基础知识2.5 多媒体知识多媒体系统基础知识,多媒体设备的性能特性,常用多媒体文件格式简单图形的绘制,图像文件的处理方法音频和视频信息的应用多媒体应用开发过程2.6 系统性能知识性能指标(响应时间、吞吐量、周转时间)和性能设计性能测试和性能评估可靠性指标及计算、可靠性设计可靠性测试和可靠性评估2.7 计算机应用基础知识信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等基础知识远程通信服务基础知识常用应用系统3.系统开发和运行知识3.1 软件工程、软件过程改进和软件开发项目管理知识软件工程知识软件开发生命周期各阶段的目标和任务软件开发项目管理基础知识(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常用管理工具主要的软件开发方法(生命周期法、原型法、面向对象法、 CASE)软件开发工具与环境知识软件过程改进知识软件质量管理知识软件开发过程评估、软件能力成熟评估基础知识3.2 系统分析基础知识系统分析的目的和任务结构化分析方法(数据流图(DFD)、数据字典( DD)、实体关系图( ERD)、描述加工处理的结构化语言)统一建模语言( UML)系统规格说明书3.3 系统设计知识系统设计的目的和任务结构化设计方法和工具(系统流程图、HIPO 图、控制流程图)系统总体结构设计(总体布局、设计原则、模块结构设计、数据存储设计、系统配置方案)系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计)系统设计说明书3.4 系统实施知识系统实施的主要任务结构化程序设计、面向对象程序设计、可视化程序设计程序设计风格程序设计语言的选择系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试)测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试用例设计、系统测试报告)系统转换基础知识3.5 系统运行和维护知识系统运行管理基础知识系统维护基础知识系统评价基础知识3.6 面向对象开发方法面向对象开发概念(类、对象、属性、封装性、继承性、多态性、对象之间的引用)面向对象开发方法的优越性以及有效领域面向对象设计方法(体系结构、类的设计、用户接口设计)面向对象实现方法(选择程序设计语言、类的实现、方法的实现、用户接口的实现、准备测试数据)面向对象程序设计语言(如 C++、Java、Visual、Bsasic、Visual C++ )的基本机制面向对象数据库、分布式对象的概念4.安全性知识安全性基本概念防治计算机病毒、防范计算机犯罪存取控制、防闯入、安全管理措施加密与解密机制风险分析、风险类型、抗风险措施和内部控制5.标准化知识标准化意识、标准化的发展、标准制订过程国际标准、国家标准、行业标准、企业标准基本知识代码标准、文件格式标准、安全标准、软件开发规范和文档标准知识标准化机构6.信息化基础知识信息化意识全球信息化趋势、国家信息化战略、企业信息化战略和策略有关的法律、法规远程教育、电子商务、电子政务等基础知识企业信息资源管理基础知识7.计算机专业英语掌握计算机技术的基本词汇能正确阅读和理解计算机领域的英文资料考试科目二:软件设计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.程序设计3.1 模块划分(原则、方法、标准)3.2 编写程序设计文档模块规格说明书(功能和接口说明、程序处理逻辑的描述、输入输出数据格式的描述)测试要求说明书(测试类型和目标、测试用例、测试方法)3.3 程序设计评审4.系统实施4.1 配置计算机系统及其环境4.2 选择合适的程序设计语言4.3 掌握C 程序设计语言,以及 C++、Java、Visual、Basic、Visual C++中任一种程序设计语言,以便能指导程序员进行编程和测试,并进行必要的优化4.4 系统测试指导程序员进行模块测试,并进行验收准备系统集成测试环境和测试工具准备测试数据写出测试报告5.软件工程软件生存期模型(瀑布模型、螺旋模型、喷泉模型)和软件成本模型定义软件需求(系统化的目标、配置、功能、性能和约束)描述软件需求的方法(功能层次模型、数据流模型、控制流模型、面向数据的模型、面向对象的模型等)定义软件需求的方法(结构化分析方法、面向对象分析方法)软件设计(分析与集成、逐步求精、抽象、信息隐蔽)软件设计方法(结构化设计方法、Jackson 方法、 Warnier 方法、面向对象设计方法)程序设计(结构化程序设计、面向对象程序设计)软件测试的原则与方法软件质量(软件质量特性、软件质量控制)软件过程评估基本方法、软件能力成熟度评估基本方法软件开发环境和开发工具(分析工具、设计工具、编程工具、测试工具、维护工具、CASE)软件工程发展趋势(面向构件,统一建模语言( UML))软件过程改进模型和方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2009年软件设计师考试大纲<软考>一、考试说明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)二进制数据的运算电子计算机一般采用二进制数据。

寸进制数只有0和1两个基本数据,容易在电气元件中实现。

二进制数据的去处公式:0+0=0 0*0=00+1=1 0*1=01+0=1 1*0=01+1=10 1*1=1(2)十进制和二进制间的间的转换将十进制整数成寸进制整数时,只要将它一次一次地被2除,得到的余数(从最后一个余数讲起)就是二进制表示的数。

(3)二进制数据转换成十进制数(3)不同进制数的转换二进制数和八进制数互换:二进制数据转换成八进制数时,只要从小数点位置开始,向左或向右每三二进制划分为一组(不足三位时可补0),然后写出每一组二进制数所对应的八进制数码即可。

例:将二进制数*(10110001.111)转换成八进制数:010110001.1112617即二进制数(10110001.111)转换成八进制数是(261.7)。

反过来,将每位八进制数分别用三位二进制数表示,就可完成八进制数和二进制数的转换。

二进制数和十六进制数互换:二进制数转换成十六进制数时,只要从小数点位置开始,向左或向右每四位进进制划分为一组(不足四位时可补0),然后定出每一组二进制数所对应的十六进制数码即可。

例:将二进制数(11011100110.1101)转换成十六进制数:011011100110.11016E6D即二进制数(11011100110.1101)转换友十六进制数是(6E6.D)。

反过来,将每位十六进制数分别用三位二进制数表示,就可完成十六进制数和二进制数的转换。

八进制数,十六进制数和十进制数的转换:这三者转换时,可把二进制数作为媒介,先把代转换的数转换成二进制数,然后将二进制数转换成要求转换的数制形式。

1.2 数据的表示·数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出)原码:+1=00000001 -1=10000001+127=01111111 -127=11111111+45=00101101 -45=10101101+0.5=0.1000000 -0.5=1.1000000反码:+1=00000001 -1=11111110+127=01111111 -127=10000000+45=00101101 -45=11010010+0.5=0.1000000 -0.5=1.0111111补码:+1=00000001 -1=11111111+127=01111111 -127=10000001+45=00101101 -45=11010011+0.5=0.1000000 -0.5=1.100000移码:+1=10000001 -1=01111111+127=11111111 -127=00000001+45=10101101 -45=01010011+0.5=1.1000000 -0.5=0.100000+0=10000000 -0=10000000·非数值表示(字符和汉字表示、声音表示、图像表示)·校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码)1.3 算术运算和逻辑运算·计算机中的二进制数运算方法·逻辑代数的基本运算和逻辑表达式的化简1.4 数学基础知识·命题逻辑、谓词逻辑、形式逻辑的基础知识·常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分)·排列组合、概率论应用、应用统计(数据的统计分析)·运算基本方法(预测与决策、线性规划、网络图、模拟)1.5 常用数据结构·数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作· Hash(存储地址计算,冲突处理)1.6 常用算法·排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法·算法与数据结构的关系、算法效率、算法设计、算法描述(流程图、伪代码、决策表)、算法的复杂性2.计算机系统知识2.1 硬件知识2.1.1 计算机系统的组成、体系结构分类及特性· CPU和存储器的组成、性能和基本工作原理·常用I/O设备、通信设备的性能,以及基本工作原理· I/O接口的功能、类型和特性· I/O控制方式(中断系统、DMA、I/O处理机方式)· CISC/RISC,流水线操作,多处理机,并行处理2.1.2 存储系统·主存-Cache存储系统的工作原理·虚拟存储器基本工作原理,多级存储体系的性能价格· RAID类型和特性2.1.3 安全性、可靠性与系统性能评测基础知识·诊断与容错·系统可靠性分析评价·计算机系统性能评测方式2.2 软件知识2.2.1 操作系统知识·操作系统的内核(中断控制)、进程、线程概念·处理机管理(状态转换、共享与互斥、分时轮转、抢占、死锁)·存储管理(主存保护、动态连接分配、分段、分页、虚存)·设备管理(I/O控制、假脱机)·文件管理(文件目录、文件组织、存取方法、存取控制、恢复处理)·作业管理(作业调度、作业控制语言(JCL)、多道程序设计)·汉字处理,多媒体处理,人机界面·网络操作系统和嵌入式操作系统基础知识·操作系统的配置2.2.2 程序设计语言和语言处理程序的知识·汇编、编译、解释系统的基础知识和基本工作原理·程序设计语言的基本成分:数据、运算、控制和传输,过程(函数)调用·各类程序设计语言主要特点和适用情况2.3 计算机网络知识·网络体系结构(网络拓扑、OSI/RM、基本的网络协议)·传输介质、传输技术、传输方法、传输控制·常用网络设备和各类通信设备· Client/Server结构、Browser/Server结构· LAN拓扑,存取控制,LAN的组网,LAN间连接,LAN-WAN连接·因特网基础知识以及应用·网络软件·网络管理·网络性能分析2.4 数据库知识·数据库管理系统的功能和特征·数据库模型(概念模式、外模式、内模式)·数据模型,ER图,第一范式、第二范式、第三范式·数据操作(集合运算和关系运算)·数据库语言(SQL)·数据库的控制功能(并发控制、恢复、安全性、完整性)·数据仓库和分布式数据库基础知识2.5 多媒体知识·多媒体系统基础知识,多媒体设备的性能特性,常用多媒体文件格式·简单图形的绘制,图像文件的处理方法·音频和视频信息的应用·多媒体应用开发过程2.6 系统性能知识·性能指标(响应时间、吞吐量、周转时间)和性能设计·性能测试和性能评估·可靠性指标及计算、可靠性设计·可靠性测试和可靠性评估2.7 计算机应用基础知识·信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等基础知识·远程通信服务基础知识·常用应用系统3.系统开发和运行知识3.1 软件工程、软件过程改进和软件开发项目管理知识·软件工程知识·软件开发生命周期各阶段的目标和任务·软件开发项目管理基础知识(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常用管理工具·主要的软件开发方法(生命周期法、原型法、面向对象法、CASE)·软件开发工具与环境知识·软件过程改进知识·软件质量管理知识·软件开发过程评估、软件能力成熟评估基础知识3.2 系统分析基础知识·系统分析的目的和任务·结构化分析方法(数据流图(DFD)、数据字典(DD)、实体关系图(ERD)、描述加工处理的结构化语言)·统一建模语言(UML)·系统规格说明书3.3 系统设计知识·系统设计的目的和任务·结构化设计方法和工具(系统流程图、HIPO图、控制流程图)·系统总体结构设计(总体布局、设计原则、模块结构设计、数据存储设计、系统配置方案)·系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计)·系统设计说明书3.4 系统实施知识·系统实施的主要任务·结构化程序设计、面向对象程序设计、可视化程序设计·程序设计风格·程序设计语言的选择·系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试)·测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试用例设计、系统测试报告)·系统转换基础知识3.5 系统运行和维护知识·系统运行管理基础知识·系统维护基础知识·系统评价基础知识3.6 面向对象开发方法·面向对象开发概念(类、对象、属性、封装性、继承性、多态性、对象之间的引用)·面向对象开发方法的优越性以及有效领域·面向对象设计方法(体系结构、类的设计、用户接口设计)·面向对象实现方法(选择程序设计语言、类的实现、方法的实现、用户接口的实现、准备测试数据)·面向对象程序设计语言(如C++、Java、Visual、Bsasic、Visual C++)的基本机制·面向对象数据库、分布式对象的概念4.安全性知识·安全性基本概念·防治计算机病毒、防范计算机犯罪·存取控制、防闯入、安全管理措施·加密与解密机制·风险分析、风险类型、抗风险措施和内部控制5.标准化知识·标准化意识、标准化的发展、标准制订过程·国际标准、国家标准、行业标准、企业标准基本知识·代码标准、文件格式标准、安全标准、软件开发规范和文档标准知识·标准化机构6.信息化基础知识·信息化意识·全球信息化趋势、国家信息化战略、企业信息化战略和策略·有关的法律、法规·远程教育、电子商务、电子政务等基础知识·企业信息资源管理基础知识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.程序设计3.1 模块划分(原则、方法、标准)3.2 编写程序设计文档·模块规格说明书(功能和接口说明、程序处理逻辑的描述、输入输出数据格式的描述)·测试要求说明书(测试类型和目标、测试用例、测试方法)3.3 程序设计评审4.系统实施4.1 配置计算机系统及其环境4.2 选择合适的程序设计语言4.3 掌握C程序设计语言,以及C++、Java、Visual、Basic、Visual C++中任一种程序设计语言,以便能指导程序员进行编程和测试,并进行必要的优化4.4 系统测试·指导程序员进行模块测试,并进行验收·准备系统集成测试环境和测试工具·准备测试数据·写出测试报告5.软件工程·软件生存期模型(瀑布模型、螺旋模型、喷泉模型)和软件成本模型·定义软件需求(系统化的目标、配置、功能、性能和约束)·描述软件需求的方法(功能层次模型、数据流模型、控制流模型、面向数据的模型、面向对象的模型等)·定义软件需求的方法(结构化分析方法、面向对象分析方法)·软件设计(分析与集成、逐步求精、抽象、信息隐蔽)·软件设计方法(结构化设计方法、Jackson方法、Warnier方法、面向对象设计方法)·程序设计(结构化程序设计、面向对象程序设计)·软件测试的原则与方法·软件质量(软件质量特性、软件质量控制)·软件过程评估基本方法、软件能力成熟度评估基本方法·软件开发环境和开发工具(分析工具、设计工具、编程工具、测试工具、维护工具、CASE)·软件工程发展趋势(面向构件,统一建模语言(UML))·软件过程改进模型和方法。

相关文档
最新文档