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

一、考试说明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))•软件过程改进模型和方法。
中级资格:软件设计师考试大纲

· 系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计)
· 系统设计说明书
3.4 系统实施知识
· 系统实施的主要任务
· 结构化程序设计、面向对象程序设计、可视化程序设计
中级资格:软件设计师考试大纲
一、考试说明
1.考试要求:
(1) 掌握数据表示、算术和逻辑运算;
(2) 掌握相关的应用数学、离散数学的基础知识;
(3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理;
(4) 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;
1.5 常用数据结构
· 数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作
· Hash(存储地址计算,冲突处理)
1.6 常用算法
· 排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法
· 程序设计风格
· 程序设计语言的选择
· 系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试)
· 测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试用例设计、系统测试报告)
· 系统转换基础知识
3.5 系统运行和维护知识
· 数据库语言(SQL)
· 数据库的控制功能(并发控制、恢复、安全性、完整性)
· 数据仓库和分布式数据库基础知识
2.5 多媒体知识
· 多媒体系统基础知识,多媒体设备的性能特性,常用多媒体文件格式
计算机程序员考试大纲

计算机程序员考试大纲一、引言计算机程序员考试大纲是作为计算机行业的从业人员选拔和评估的重要依据,它明确了考试的内容范围和考查重点,为考试参与者提供了明确的学习目标和备考方向。
本文将详细介绍计算机程序员考试大纲的内容,以帮助考生全面把握考试的要点。
二、考试范围1. 基础知识计算机程序员考试大纲对基础知识的考查是至关重要的。
这包括计算机体系结构、操作系统原理、数据结构与算法、计算机网络等领域的知识。
考生需要熟悉这些基础概念和原理,并具备运用它们解决实际问题的能力。
2. 编程语言计算机程序员考试大纲还对多种编程语言的知识和应用进行了考查。
常见的编程语言包括C、C++、Java、Python等,考生需要熟悉这些语言的语法和特性,并能够利用它们进行程序设计和开发。
3. 数据库数据管理是计算机程序员工作中的关键环节之一。
考试大纲中涉及了数据库的基础知识、数据库设计与开发、数据查询与管理等内容。
考生需要了解关系型数据库和非关系型数据库的特点,并具备使用SQL语言进行数据库操作的能力。
4. 软件工程与开发软件工程是计算机程序员工作中不可或缺的一部分。
考试大纲对软件工程原理、软件开发过程、软件测试与调试等内容进行了要求。
考生需要熟悉软件开发的各个阶段和常用的开发方法,并能够独立完成软件开发项目。
5. 网络安全与保护计算机程序员考试大纲还对网络安全与保护进行了考查。
这包括计算机系统的安全漏洞与防范、网络攻击与防御、身份认证与访问控制等方面的知识。
考生需要了解常见的网络安全威胁和防护措施,并能够进行网络安全规划与管理。
三、考试评判标准计算机程序员考试大纲明确了考试的评判标准,这主要包括以下几个方面:1. 知识掌握程度考试中会通过选择题、填空题等形式考查考生对基础知识的理解和掌握程度。
考生需要在备考过程中加强对基础知识的学习,并进行相关习题的练习。
2. 问题解决能力考试中还会通过编程题、案例分析等形式考查考生的问题解决能力。
计算机软件高级工程师考试

计算机软件高级工程师考试计算机软件高级工程师考试是一项具有较高难度和专业性的考试,对于想要进一步提升自己在计算机软件领域的技术水平和专业素养的工程师来说,参加并通过这个考试将是一条必经之路。
一、考试概述计算机软件高级工程师考试主要考察考生在计算机软件开发、项目管理、系统架构设计以及技术研发方面的知识与能力。
考试内容包括但不限于软件工程基础、软件需求分析与设计、软件测试与维护、软件项目管理、软件体系架构等。
二、考试要求1. 理论知识:考生需要具备扎实的计算机软件基础理论知识,包括编程语言、数据结构与算法、数据库系统、操作系统、网络通信等方面的知识,并能够综合应用于软件开发的实际场景中。
2. 实践能力:考生需要具备一定的实际软件开发经验,能够独立完成一个软件项目的需求分析、设计、开发、测试和维护等全过程,并能够解决在项目开发过程中遇到的各种技术难题。
3. 创新能力:考生需要具备一定的创新思维和解决问题的能力,能够针对软件开发中的技术难点和瓶颈问题,提出新的创新方案,并能够有效地实施和验证创新方案的有效性。
三、备考建议1. 系统学习:针对考试内容进行系统学习,通过阅读相关专业书籍、参加培训班或自学,全面提升自己的专业知识和技能。
2. 实践操作:通过参与实际的软件开发项目,不断提升自己的实践能力和解决问题的能力,积累项目经验并总结经验教训。
3. 模拟演练:参加模拟考试,熟悉考试形式和要求,培养应试技巧和时间管理能力,并通过对错题的分析,找到自己的薄弱环节并加以强化。
4. 更新知识:计算机软件行业发展日新月异,考生需要密切关注最新的技术动态和行业发展趋势,及时更新自己的知识体系。
四、考试后续通过计算机软件高级工程师考试后,考生可以获得相应的证书,证明自己在计算机软件领域具备较高的技术水平和专业素养。
同时,这也将为考生在职业发展中提供更广阔的机会和更高的薪资待遇。
总结计算机软件高级工程师考试是一项重要的评价和提升计算机软件工程师能力的标准。
ms office高级应用与设计考试大纲

ms office高级应用与设计考试大纲摘要:1.考试大纲概述2.考试目标与要求3.考试内容与知识点分布4.考试形式与考试时间5.备考建议与资源正文:一、考试大纲概述MS Office 高级应用与设计考试大纲是针对微软办公软件套件中的Word、Excel、PowerPoint 三个应用的进阶使用和设计技巧的考核标准。
该考试旨在帮助考生熟练掌握MS Office 软件的高级功能,提高办公效率和专业素养,适用于各类职场人士和学生。
二、考试目标与要求考试目标:通过本考试,使考生掌握MS Office 软件的高级应用技巧,能够熟练运用Word 进行文档处理和排版,使用Excel 进行数据处理和分析,以及运用PowerPoint 制作专业级别的演示文稿。
考试要求:考生需要具备一定的计算机基础和MS Office 软件的基本操作能力,以便更好地学习和应用高级功能。
三、考试内容与知识点分布1.Word:熟练掌握样式、模板、域、脚注、目录、索引等高级功能,了解并运用VBA 编程。
2.Excel:掌握数据透视表、图表、公式、函数、条件格式、数据验证等高级功能,了解并运用VBA 编程。
3.PowerPoint:熟练掌握幻灯片设计、动画、数据可视化、音频视频处理、母版等高级功能,了解并运用VBA 编程。
四、考试形式与考试时间考试形式:本考试采用计算机操作考试,考生需在指定的考试系统中完成实际操作任务。
考试时间:考试时间为120 分钟,考生需要在规定时间内完成所有考试任务。
五、备考建议与资源1.建议考生在具备一定计算机基础和MS Office 软件基本操作能力的前提下,参加培训课程或自学,提高高级应用技巧。
2.考生可以参考官方教材、在线教程、视频教程等资源进行学习。
3.多进行实际操作练习,积累实战经验,提高考试通过率。
4.了解并掌握VBA 编程,提高办公效率和专业素养。
通过以上分析,相信考生已经对MS Office 高级应用与设计考试大纲有了充分的了解。
软考高级职称考试科目内容

软考高级职称考试科目内容软考高级职称考试科目内容如下:1.网络规划设计师:考试内容包括网络规划与设计的基本原理和方法、网络拓扑结构与通信协议、网络设备选型与配置、网络安全与管理、网络性能优化等方面的知识和技能。
考生需要掌握如何进行网络规划与设计,包括分析业务需求、确定网络拓扑结构、选择适当的通信协议和设备,以及保证网络的安全性和性能。
2.系统规划与管理师:考试内容涵盖了系统规划与管理的理论与方法、信息化战略与规划、信息资源管理、系统集成与项目管理、信息化投资回报评估等方面的知识和技能。
考生需要了解系统规划与管理的基本原理,包括制定信息化战略和规划、管理信息资源、组织系统集成和项目管理,以及进行信息化投资回报评估。
3.系统架构设计师:考试内容包括系统架构设计的基本理论与方法、企业架构与数据架构设计、应用架构与技术架构设计、系统集成与交互设计等方面的知识和技能。
考生需要理解系统架构设计的基本概念与原理,能够进行企业和数据架构设计、选择适当的应用架构和技术架构,以及进行系统集成和交互设计。
4.信息系统项目管理师:考试内容涵盖信息系统项目管理的理论与实践、项目需求与范围管理、项目时间与成本管理、项目风险与质量管理、项目沟通与团队管理等方面的知识和技能。
考生需要掌握信息系统项目管理的基本理论和方法,包括需求和范围管理、时间和成本管理、风险和质量管理,以及沟通和团队管理技巧。
5.系统分析师:考试内容包括系统分析的基本原理与方法、需求获取与分析、系统建模与设计、系统测试与交付等方面的知识和技能。
考生需要了解系统分析的基本概念与流程,能够进行需求获取和分析、系统建模和设计,以及系统测试和交付。
总体来说,软考高级职称考试科目内容广泛,注重理论与实践的结合,需要考生具备扎实的专业知识和丰富的实践经验。
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。
软件设计师-考纲

·数据操作
·数据库语言
·数据库管理系统的功能和特征
·数据库的控制功能
·数据仓库和分布式数据库基础知识
2.3计算机网络知识
·网络体系结构
·传输介质,传输技术,传输方法,传输控制
·常用网络设备和各类通信设备的特点
·Client-Server结构,Browser-Server结构
(7)掌握C程序设计语言,以及C++、Java中的一种程序设计语言;
(8)熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;
(9)掌握软件设计的方法和技术;
(10)了解信息化、常用信息技术标准、安全性,以及有关法律、法规的基础知识;
(11)正确阅读和理解计算机领域的英文资料。
3.考试科目
(1)计算机与软件工程知识,考试时间为150分钟,笔试,选择题;
·编码基础(ASCⅡ码,汉字编码,奇偶校验,海明码,霍夫曼码、循环冗余码)
·奇偶校验码、海明码、霍夫曼码、循环冗余码的编码方法及指定实例时校验码的计算(I)
·命题逻辑、谓词逻辑、形式逻辑的基础知识(I)
2.计算机系统基础知识
2.1计算机硬件基础知识
2.1.1计算机系统的组成、体系结构分类及特性
·CPU、存储器的组成、性能和基本工作原理
·LAN(拓扑,存取控制,组网,网间互连)
·Internet和Intranet基础知识以及应用
·网络软件
·网络管理,网络性能分析
2.4多媒体基础知识
·多媒体系统基础知识
·简单图形的绘制,图像文件的处理方法
·音频和视频信息的应用
·多媒体应用开发过程
3.系统开发和运行知识
3.1软件工程知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件设计师(高级程序员)考试大纲一、考试说明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))·软件过程改进模型和方法。