首页 > 文化 >

软件设计师考试大纲汇总(计算机与软件工程)

发布时间:2024-11-08 14:42:08来源:
以下是软件设计师考试大纲的汇总:
计算机与软件工程知识:
计算机科学基础:
数制及其转换:掌握二进制、十进制、十六进制等常用数制及其相互转换。
数据的表示:了解数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出),以及非数值表示(字符和汉字表示、声音表示、图像表示)。还需掌握校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码)。
算术运算和逻辑运算:熟悉计算机中的二进制数运算方法和逻辑代数的基本运算、逻辑表达式的化简。
数学基础知识:包括命题逻辑、谓词逻辑、形式逻辑的基础知识;常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分);排列组合、概率论应用、应用统计(数据的统计分析);运筹基本方法(预测与决策、线性规划、网络图、模拟)。
计算机系统知识:
硬件知识:
了解计算机系统的组成、体系结构分类及特性,包括 CPU 和存储器的组成、性能和基本工作原理;常用 I/O 设备、通信设备的性能及基本工作原理;I/O 接口的功能、类型和特性;I/O 控制方式(中断系统、DMA、I/O 处理机方式);CISC/RISC、流水线操作、多处理机、并行处理等概念。
熟悉存储系统,如主存 - cache 存储系统的工作原理、虚拟存储器基本工作原理、多级存储体系的性能价格,以及 RAID 类型和特性。
掌握安全性、可靠性与系统性能评测基础知识,如诊断与容错、系统可靠性分析评价、计算机系统性能评测方法。
软件知识:
操作系统知识:掌握操作系统的内核(中断控制)、进程、线程概念;处理机管理(状态转换、共享与互斥、分时轮转、抢占、死锁);存储管理(主存保护、动态连接分配、分段、分页、虚存);设备管理(I/O 控制、假脱机);文件管理(目录、文件组织、存取方法、存取控制、恢复处理);作业管理(作业调度,作业控制语言(JCL),多道程序设计);同时了解汉字处理、多媒体处理、人机界面、网络操作系统和嵌入式操作系统基础知识及操作系统的配置。
程序设计语言和语言处理程序的知识:了解汇编、编译、解释系统的基础知识和基本工作原理,掌握程序设计语言的基本成分(数据、运算、控制和传输,过程(函数)调用),以及各类程序设计语言主要特点和适用情况。
计算机网络知识:
了解网络体系结构(网络拓扑、OSI、基本的网络协议);传输介质、传输技术、传输方法、传输控制;常用网络设备和各类通信设备。
熟悉 Client/Server 结构、Browser/Server 结构;LAN 拓扑、存取控制、LAN 的组网、LAN 间连接、LAN-WAN 连接;Internet 基础知识以及应用;网络软件、网络管理、网络性能分析。
数据库知识:
掌握数据库管理系统的功能和特征;数据库模型(概念模式、外模式、内模式);数据模型,ER 图,第一范式、第二范式、第三范式。
熟悉数据操作(集合运算和关系运算)、数据库语言(SQL)、数据库的控制功能(并发控制、恢复、安全性、完整性),以及数据仓库和分布式数据库基础知识。
多媒体知识:了解多媒体系统基础知识,多媒体设备的性能特性,常用多媒体文件格式;掌握简单图形的绘制、图像文件的处理方法;了解音频和视频信息的应用以及多媒体应用开发过程。
系统性能知识:包括性能指标(响应时间、吞吐量、周转时间)和性能设计;性能测试和性能评估;可靠性指标及计算、可靠性设计;可靠性测试和可靠性评估。
计算机应用基础知识:了解信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等基础知识;远程通信服务基础知识;常用应用系统。
软件设计:
系统开发和运行知识:
软件工程、软件过程改进和软件开发项目管理知识:了解软件工程知识,包括软件开发生命周期各阶段的目标和任务;掌握软件开发项目管理基础知识(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常用管理工具;熟悉主要的软件开发方法(生命周期法、原型法、面向对象法、CASE);了解软件开发工具与环境知识、软件过程改进知识、软件质量管理知识、软件开发过程评估、软件能力成熟度评估基础知识。
系统分析基础知识:掌握系统分析的目的和任务,熟悉结构化分析方法(数据流图(DFD)和数据词典(DD)、实体关系图(ERD)、描述加工处理的结构化语言),了解统一建模语言(UML)以及系统规格说明书。
系统设计知识:了解系统设计的目的和任务,掌握结构化设计方法和工具(系统流程图、HIPO 图、控制流程图);熟悉系统总体结构设计(总体布局、设计原则、模块结构设计、数据存储设计、系统配置方案);掌握系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计),以及系统设计说明书。
系统实施知识:掌握系统实施的主要任务,了解结构化程序设计、面向对象程序设计、可视化程序设计;掌握程序设计风格和程序设计语言的选择;了解系统测试的目的、类型,掌握系统测试方法(黑盒测试、白盒测试、灰盒测试),以及测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试用例设计、系统测试报告);了解系统转换基础知识。
系统运行和维护知识:了解系统运行管理基础知识、系统维护基础知识、系统评价基础知识。
面向对象开发方法:掌握面向对象开发概念(类、对象、属性、封装性、继承性、多态性,对象之间的引用);了解面向对象开发方法的优越性以及有效领域;掌握面向对象分析方法概念;了解面向对象设计方法(体系结构,类的设计,用户接口设计);掌握面向对象实现方法(选择程序设计语言,类的实现,方法的实现,用户接口的实现,准备测试数据)。
(作者: 阿毛视界)

版权声明:本文为三牛号作者或机构在本站上传并发布,仅代表该作者或机构观点,不代表本站的观点或立场,三牛网仅提供信息发布平台。