![软件设计师(软考中级)考试大纲](https://600zi.400zi.cn/uploadfile/img/15/308/18d202acff727e679e56fa5912ff3427.jpg)
软件设计师(软考中级)考试大纲
1.考试要求
掌握计算机内的
数据表示、
算数和
逻辑运算方法;掌握相关的
应用数学及
离散数学基础知识;掌握
计算机体系结构以及
各主要部件的性能和
基本工作原理;掌握
操作系统、
程序设计语言的基础知识,了解
编译程序程序的基础知识;熟练掌握常用
数据结构和常用
算法;熟悉
数据库与
网络基础知识;熟练掌握一种
结构化程序设计语言(C语言)和一种面向对象程序设计语言(C++ / Java);熟悉
软件工程、
软件过程改进和
软件开发项目管理的基础知识;掌握
软件设计的方法和技术;了解
信息化、常用信息化技术标准、安全性,以及
有关法律、法规的基础知识;正确阅读和理解
计算机领域的英文资料。
2.科目设置
计算机与软件工程知识,考试时间150分钟;满分75,45及格软件设计,考试时间为150分钟;满分75,45及格
3.考试范围
科目1:计算机与软件工程知识(上午选择题)
1. 计算机系统基础知识
1.1 计算机内数据的表示及运算
数的表示非数值表示(字符和汉字表示、声音表示、图像表示)计算机中的二进制数运算方法逻辑代数的基本运算
1.2 其他数学基础知识
常用数值计算排列组合、概率论应用、应用统计(数据统计分析)编码基础命题逻辑、谓词逻辑、形式逻辑的基础知识运筹基本方法
1.3 计算机硬件基础知识
计算机系统组成、体系结构分类及特性 CPU、存储器的组成、性能和基本工作原理常用I/O设备、通信设备的性能以及基本工作原理I/O接口的功能、类型和特性CISC / RISC、流水线操作、多处理机、并行处理 存储系统 虚拟存储器基本工作原理,多级存储体系RAID类型和特性网络存储技术 可靠性与系统性能测评基础知识 诊断与容错系统可靠性分析评价计算机系统性能评测方法
1.4 计算机软件知识
数据结构与算法知识 数组链表队列、栈树图的定义、存储和基本运算杂凑(Hash表)常用的排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法算法设计与分析 操作系统知识 操作系统基本概念处理机管理存储管理设备管理文件管理作业管理操作系统的配置 程序设计语言和语言处理程序知识 汇编、编译、解释系统的基本知识和基本工作原理程序设计语言的基本成分(数据、运算、控制和传输),函数调用机制各类程序设计语言的主要特点 数据库知识 数据库系统基本概念关系数据库理论数据库设计数据库语言数据库新技术(非关系型数据库等)
1.5 计算机网路知识
协议体系结构传输介质与交换技术常用网络设备与服务器局域网络连接Internet基础知识TCP/IP协议简单网络管理
1.6. 多媒体基础知识
2.系统开发和运行知识
2.1 软件工程基础知识
软件生存周期与软件生存周期模型软件开发方法软件开发项目管理软件工具与软件开发环境软件过程改进(CMM等)软件开发文档
2.2 系统分析基础知识
系统分析方法与模型
2.3 系统设计基础知识
系统设计的基本原理软件体系结构基本概念系统设计方法与模型
2.4. 软件测试基础知识
软件测试的基本概念软件测试阶段测试方法测试用例设计
2.5 系统运行和维护基础知识
系统维护的概念系统转换系统评价
2.6 软件质量管理基础知识
软件质量特性(ISO / IEC 9126软件质量模型)软件质量保证软件复杂性的概念及度量方法(McCabe度量法)软件评审(设计质量评审、程序质量评审)软件容错技术
3.面向对象基础知识
面向对象的基本概念面向对象分析与设计分析模式与设计模式面向对象程序设计面向对象测试
4.网络与信息安全知识
信息安全基础信息安全技术(加密与解密、认证、数字签名、摘要等)网络安全技术计算机安全等级及相关法律法规
5.标准化、信息化和知识产权基础知识
5.1 标准化基础知识
5.2 信息化基础知识
全球信息化趋势、国家信息化战略、企业信息化战略和策略互联网相关的法律、法规知识个人信息保护规则远程教育、电子商务、电子政务等基础知识企业信息资源管理基础知识
5.3 知识产权基础知识
保护知识产权有关的法律、法规
6.软件开发新进展
软件开发新技术云计算大数据应用领域进展
7.计算机专业英语
具有工程师所要求的英语阅读水平理解本领域的英语术语
科目2:软件设计(下午)
1. 结构化分析与设计
1.1 需求分析
数据流图(DFD)数据字典与加工逻辑
1.2 数据流图变换
2. 面向对象分析与设计
统一建模语言(UML)基于用例的需求描述软件建模设计模式应用
3. 数据库应用分析与设计
E-R模型设计关系模型数据库语言(SQL)数据库访问
4. 软件实现
算法设计与分析 算法设计策略算法分析 程序设计 选择合适的程序设计语言C语言程序设计面向对象程序设计(C++或Java)
5. 软件测试
单元测试集成测试系统测试测试方法和测试用例
6. 软件评审
软件设计评审程序设计评审