软件设计师考试大纲
软件设计师考试大纲+英语试题

计算机软件水平测试一软件设计师测试大纲(一)计算机和软件工程知识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系统实施知识•系统实施的主要任务•结构化程序设计、面向对象程序设计、可视化程序设计•程序设计风格•程序设计语言的选择•系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试)•测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试用例设计、系统测试报告)•系统转换基础知识1.5系统运行和维护知识•系统运行管理基础知识•系统维护基础知识•系统评价基础知识1.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))•软件过程改进模型和方法国计算机软考软件设计师英语试题及答案分析⑴Enterprise JavaBeans (EJB) technology is the (1) component architecture for the Java 2 Platform, Enterprise Edition (J2EE) platform. EJB technology enables rapid and simplified development of(2),(3), secure and portable applications based on Java technology. In EJB 2. x,there are three kinds of enterprise beans : (4), ( 5 ) ,message - driver bean.A.) A. client - sideB.server - sideC.database - sideD.HTTFP - side(2), ( 3 ) A. distributedB.integrationC.transactionalD.international(4),(5)A. instance beanB.entity beanC.transaction beanD.session bean答案:(1)B (2)A (3)C (4)B (5)D分析:企业级JavaBeans(EJB)技术是Jaya 2平台上服务器端的组建架构体系。
软件设计师考试大纲(十一)

软件设计师考试大纲(十一)
2.内部设计
2.1 设计软件结构
·按构件分解,确定构件功能规格以及构件之间的接口
·采用中间件和工具
2.2 设计输入输出
·屏幕界面设计、设计输入输出检查方法和检查信息
2.3 设计物理数据
·分析数据特性,确定逻辑数据组织方式、存储介质,设计记录格式和处理方式
·将逻辑数据结构换成物理数据结构,计算容量,进行优化
2.4 构件的创建和重用
·创建、重用构件的概念
·使用子程序库或类库
2.5 编写内部设计文档
·构件划分图、构件间的接口、构件处理说明、屏幕设计文档、报表设计文档、文件设计文档、数据库设计文档
本文章是来自。
软件考试大纲

计算机技术与软件专业技术资格(水平)考试简介软件设计师考试大纲一、考试说明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. 数值及其转换二进制、十进制和十六进制等常用数制及其相互转换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软件设计师考试大纲
2024年软件设计师考试大纲主要包含以下几个部分:
1. 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识。
2. 熟练掌握常用数据结构和常用算法。
3. 熟悉数据库与网络基础知识。
4. 熟练掌握一种结构化程序设计语言(如C语言)和一种面向对象程序设计语言(如C++或Java)。
5. 熟悉软件工程、软件过程改进和软件开发项目管理基础知识。
6. 掌握软件设计的方法和技术。
7. 了解信息化、常用信息技术标准、安全性,以及有关法律、法规。
此外,2024年软件设计师考试大纲还包括了软考高级考试大纲,例如信息系统项目管理师、系统分析师、系统规划与管理师、网络规划设计师、系统架构设计师等考试大纲的内容。
以上内容仅供参考,具体大纲内容应以官方发布的信息为准。
2010-软件设计师考试大纲(精)

软件设计师考试(kǎoshì)大纲一、考试(kǎoshì)说明1.考试(kǎoshì)要求:(1 掌握(zhǎngwò)数据表示、算术和逻辑运算;(2 掌握相关的应用(yìngyòng)数学、离散数学的基础知识;(3 掌握计算机体系结构以及各主要部件的性能和基本工作原理;(4 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;(5 熟练掌握常用数据结构和常用算法;(6 熟悉数据库、网络和多媒体的基础知识;(7 掌握C程序设计语言,以及C++、Java、Visual、Basic、Visual C++中的一种程序设计语言;(8 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;(9 熟悉掌握软件设计的方法和技术;(10 掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识;(11 了解信息化、计算机应用的基础知识;(12 正确阅读和理解计算机领域的英文资料。
2.通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;具有工程的实际工作能力和业务水平。
3.本考试设置的科目(kēmù)包括:(1 计算机与软件工程知识(zhī shi),考试时间为150分钟,笔试;(2 软件设计,考试时间(shíjiān)为150分钟,笔试。
二、考试(kǎoshì)范围考试科目(kēmù)1:计算机与软件工程知识1.计算机科学基础1.1 数制及其转换• 二进制、十进制和十六进制等常用制数制及其相互转换1.2 数据的表示• 数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出• 非数值表示(字符和汉字表示、声音表示、图像表示• 校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码1.3 算术运算和逻辑运算• 计算机中的二进制数运算方法• 逻辑代数的基本运算和逻辑表达式的化简1.4 数学基础知识• 命题逻辑、谓词逻辑、形式逻辑的基础知识• 常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分• 排列组合、概率论应用、应用统计(数据的统计分析• 运算基本方法(预测与决策、线性规划(xiàn xìnɡ ɡuī huá)、网络图、模拟1.5 常用(chánɡ yònɡ)数据结构• 数组(静态数组、动态数组、线性表、链表(单向链表、双向链表、循环链表、队列、栈、树(二叉树、查找树、平衡(pínghéng)树、线索树、线索树、堆、图等的定义、存储和操作• Hash(存储(cún chǔ)地址计算,冲突处理1.6 常用(chánɡ yònɡ)算法• 排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法• 算法与数据结构的关系、算法效率、算法设计、算法描述(流程图、伪代码、决策表、算法的复杂性2.计算机系统知识2.1 硬件知识2.1.1 计算机系统的组成、体系结构分类及特性• CPU和存储器的组成、性能和基本工作原理• 常用I/O设备、通信设备的性能,以及基本工作原理• I/O接口的功能、类型和特性• I/O控制方式(中断系统、DMA、I/O处理机方式• CISC/RISC,流水线操作(cāozuò),多处理机,并行处理2.1.2 存储系统• 主存-Cache存储系统的工作(gōngzuò)原理• 虚拟存储器基本工作原理(yuánlǐ),多级存储体系的性能价格• RAID类型(lèixíng)和特性2.1.3 安全性、可靠性与系统(xìtǒng)性能评测基础知识• 诊断与容错• 系统可靠性分析评价• 计算机系统性能评测方式2.2 软件知识2.2.1 操作系统知识• 操作系统的内核(中断控制、进程、线程概念• 处理机管理(状态转换、共享与互斥、分时轮转、抢占、死锁• 存储管理(主存保护、动态连接分配、分段、分页、虚存• 设备管理(I/O控制、假脱机• 文件管理(文件目录、文件组织、存取方法、存取控制、恢复处理• 作业管理(作业调度、作业控制语言(JCL、多道程序设计• 汉字处理,多媒体处理,人机界面• 网络操作系统和嵌入式操作系统基础知识• 操作系统(cāo zuò xì tǒnɡ)的配置2.2.2 程序设计语言(yǔyán)和语言处理程序的知识• 汇编(huìbiān)、编译、解释系统的基础知识和基本工作原理• 程序设计语言的基本成分:数据、运算、控制和传输(chuán shū),过程(函数调用• 各类程序设计语言主要特点和适用情况2.3 计算机网络知识(zhī shi)• 网络体系结构(网络拓扑、OSI/RM、基本的网络协议• 传输介质、传输技术、传输方法、传输控制• 常用网络设备和各类通信设备• Client/Server结构、Browser/Server结构• LAN拓扑,存取控制,LAN的组网,LAN间连接,LAN-WAN连接• 因特网基础知识以及应用• 网络软件• 网络管理• 网络性能分析2.4 数据库知识• 数据库管理系统的功能和特征• 数据库模型(概念模式、外模式、内模式• 数据模型,ER图,第一范式、第二范式、第三范式• 数据操作(cāozuò)(集合运算和关系运算• 数据库语言(yǔyán)(SQL• 数据库的控制(kòngzhì)功能(并发控制、恢复、安全性、完整性• 数据仓库和分布式数据库基础知识2.5 多媒体知识(zhī shi)• 多媒体系统基础知识,多媒体设备(shèbèi)的性能特性,常用多媒体文件格式• 简单图形的绘制,图像文件的处理方法• 音频和视频信息的应用•多媒体应用开发过程2.6 系统性能知识• 性能指标(响应时间、吞吐量、周转时间和性能设计• 性能测试和性能评估• 可靠性指标及计算、可靠性设计• 可靠性测试和可靠性评估2.7 计算机应用基础知识•信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等基础知识• 远程通信服务基础知识• 常用应用系统3.系统开发和运行知识3.1 软件工程(ruǎn jiàn ɡōnɡ chénɡ)、软件过程改进和软件开发项目管理知识• 软件工程(ruǎn jiàn ɡōnɡ chénɡ)知识• 软件开发生命周期各阶段(jiēduàn)的目标和任务• 软件开发项目管理基础知识(时间(shíjiān)管理、成本管理、质量管理、人力资源管理、风险管理等及其常用管理工具• 主要(zhǔyào)的软件开发方法(生命周期法、原型法、面向对象法、CASE• 软件开发工具与环境知识• 软件过程改进知识• 软件质量管理知识• 软件开发过程评估、软件能力成熟评估基础知识3.2 系统分析基础知识• 系统分析的目的和任务•结构化分析方法(数据流图(DFD、数据字典(DD、实体关系图(ERD、描述加工处理的结构化语言• 统一建模语言(UML• 系统规格说明书3.3 系统设计知识• 系统设计的目的和任务• 结构化设计方法和工具(系统流程图、HIPO图、控制流程图• 系统总体结构设计(总体布局、设计原则(yuánzé)、模块结构设计、数据存储设计、系统配置方案• 系统详细设计(shèjì)(代码设计、数据库设计、用户界面设计、处理过程设计• 系统(xìtǒng)设计说明书3.4 系统实施知识(zhī shi)• 系统实施的主要(zhǔyào)任务• 结构化程序设计、面向对象程序设计、可视化程序设计• 程序设计风格• 程序设计语言的选择• 系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试• 测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试用例设计、系统测试报告• 系统转换基础知识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 编写外部设计文档• 系统配置图、各子系统关系(guān xì)图、系统流程图、系统功能说明书、输入输出规格说明、数据规格说明、用户手册框架• 设计系统测试要求 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.软件工程• 软件生存期模型(瀑布模型、螺旋模型、喷泉模型)和软件成本模型• 定义软件需求(系统化的目标、配置、功能、性能和约束)• 描述软件需求的方法(功能层次模型、数据流模型、控制流模型、面向数据的模型、面向对象的模型等)• 定义软件需求的方法(结构化分析(fēnxī)方法、面向对象分析方法)• 软件设计(分析与集成、逐步求精、抽象、信息隐蔽)• 软件设计方法(结构化设计方法、Jackson 方法、Warnier 方法、面向对象设计方法)• 程序设计(结构化程序设计、面向对象程序设计)• 软件测试的原则与方法• 软件质量(软件质量特性、软件质量控制)• 软件过程评估基本方法、软件能力成熟度评估基本方法• 软件开发环境和开发工具(分析工具、设计工具、编程工具、测试工具、维护工具、CASE)• 软件工程(ruǎn jiàn ɡōnɡ chénɡ)发展趋势(面向构件,统一建模语言(UML))•软件过程改进模型和方法内容总结(1)软件设计师考试大纲一、考试说明1.考试要求:(1 掌握数据表示、算术和逻辑运算。
软件设计师考试大纲

软件设计师考试大纲一、考试说明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.考试要求:(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、VisualC++)的基本机制·面向对象数据库、分布式对象的概念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)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软考专家谈软考(六)
文章来源:中国计算机技术职业资格网时间:2010-03-18
软件设计师备考分析
软件设计师近几年的考试形式与考核内容已经完全趋于稳定,从2007年至2009年的考试情况分析来看,考核形式与内容变化不大,作为考生应该紧紧扣住2009新大纲,有针对性、有策略地复习。
本文将总结近几年考试的内容分布,给出软件设计师上、下午题目的组成,以帮助考生复习。
1、软件设计师上午试题
分析近三年的考试情况,上午试题的知识点分布如表1所示。
表1近三年上午试题考核内容分布情况
鉴于软件设计师上下午考试的侧重点不同,考生在准备上午考试的时候,需要注意掌握知识面的宽度,由于上午试题出题形式的局限性,必然不会出现
较深的分析与设计类考题,因此考生应该在基本知识上多下工夫。
以数据结构为例,在多次考试中出现了考察考生对栈的理解,其内容无非是栈的操作以及栈的后进先出的特性,上午试题将很难考察栈的具体实现问题。
同样,对于面向对象基础知识,更多的是考察面向对象分析、面向对象设计、类、对象、封装、继承、消息等基本概念;而算法则考察各种不同算法的时间和空间复杂度问题。
当然,考生在掌握基本概念的同时,也需要关注基本应用题型,例如很多基本知识结合一些实际的应用小例子,如设计模式、数据结构、程序语言等考核点就曾多次出现。
笔者推荐考生参照官方推荐的教材进行复习,因为该教材基本涵盖了所有上午试题内容。
2.软件设计师下午试题
软件设计师下午的考核内容分布如表2所示。
表2近三年下午试题考核内容分布情况
近三年来的下午考题一直都是试题一到试题四是必答题目,试题五至试题七是选答题目,考核形式一直都没有发生变化,但笔者在观察2009年的考试时候出现了两个不同点,值得引起考生的注意:
(1)算法与C语言的结合
算法早期的出题多是以伪代码或者流程图的形式出现,但2009年算法已经和C语言结合在一起出题,分析考试大纲,C语言应该是软件设计师必须掌握的内容之一,相信这也是2009新大纲出来后考试出题所作的调整,考生需要注意不仅要掌握算法的原理,还需要掌握算法的具体实现,尤其是使用C语言实现。
另外,由于C语言与算法结合出现,意味着C语言本身是否还需要单独考
核的问题,这就需要考生注意本文谈到的第二个注意点。
(2)C语言考题顺序的调整
2009年的考试中,出现了将C语言调整到第七题,而将C++与Java调整为第五题和第六题,笔者认为,顺序的调整应该不是一个随机性的事情,调整的目的极有可能是为了突出C++与Java的重要性,可能是希望考生注意C++与Java 题目。
如本文第一点所述,因为C已经与算法结合进行了考核,在后续的考题中,C语言单独出题的可能性会有所降低。
这样的话,考生就需要在Java和C++考题上多下工夫,需要详细理解并掌握设计模式与Java或者C++语言的结合问题。