软考软件设计师考试大纲
- 格式:docx
- 大小:13.36 KB
- 文档页数:9
2023软考架构师考试大纲摘要:一、前言二、考试目标1.系统架构设计师2.软件架构师三、考试科目及内容1.计算机与网络知识2.信息系统知识3.系统设计与管理4.软件工程5.信息安全6.标准化与知识产权四、考试形式与时间五、参考资料正文:【前言】2023 年软考架构师考试大纲旨在为参加软件架构师和系统架构设计师考试的考生提供参考依据。
本大纲涵盖了计算机与网络知识、信息系统知识、系统设计与管理、软件工程、信息安全、标准化与知识产权等方面的内容。
【考试目标】2023 年软考架构师考试大纲分为两个层次:系统架构设计师和软件架构师。
系统架构设计师:具备计算机与网络知识、信息系统知识、系统设计与管理、软件工程、信息安全、标准化与知识产权等方面的综合能力,能够独立完成系统架构设计、评估和优化的专业人才。
软件架构师:具备计算机与网络知识、信息系统知识、软件工程、信息安全、标准化与知识产权等方面的综合能力,能够独立完成软件架构设计、评估和优化的专业人才。
【考试科目及内容】2023 年软考架构师考试大纲共包括六科内容:1.计算机与网络知识:涵盖计算机硬件、操作系统、计算机网络等方面的基础知识。
2.信息系统知识:涵盖信息系统的基本概念、系统集成、项目管理、企业应用等方面的知识。
3.系统设计与管理:涵盖系统设计原理、设计方法、系统评估与优化等方面的知识。
4.软件工程:涵盖软件开发过程、软件需求分析、软件设计、软件测试等方面的知识。
5.信息安全:涵盖信息安全的基本概念、安全策略、安全技术、安全管理等方面的知识。
6.标准化与知识产权:涵盖标准化知识、知识产权保护、知识产权管理等方面的知识。
【考试形式与时间】2023 年软考架构师考试采用闭卷、笔试形式进行,考试时间为120 分钟。
【参考资料】参加考试的考生可参考以下资料:1.《计算机与网络基础知识》2.《信息系统知识》3.《系统设计与管理》4.《软件工程》5.《信息安全》6.《标准化与知识产权》本考试大纲的解释权归我国相关部门所有。
2017年软考软件设计师考试培训指南与大纲考试内容说明:“(Ⅰ)”、“(Ⅱ)”和“(Ⅲ)”表示掌握或熟悉的程度。
“(Ⅰ)”是指对所列只是要理解其内容及含义理解。
“(Ⅱ)”是指在有关问题中能直接使用一般应用“(Ⅲ)”是指对所列知识要理解其确切含义及与其它知识的联系,能够进行叙述和解释,并能在实际问题的分析、综合、推理和判断等过程中运用综合应用。
考试科目1 计算机与软件工程知识1.计算机科学基础知识1.1.数制及其转换●二进制、八进制、十进制和十六进制等常用数制及其相互转换(Ⅱ)1.2.计算机内数据的表示●数的表示带符号定点数据(纯整数和纯小数)的原码、反码、补码和移码表示(Ⅱ)浮点数(实数)的表示(Ⅱ)溢出的概念(Ⅱ)●非数值表示(字符和汉字表示、声音表示、图像表示)(补充)1.3.算数运算和逻辑运算●计算机中的二进制数运算方法补码表示下定点数的加、减、乘、除运算方法(Ⅰ)●逻辑代数的基本运算基本的逻辑运算与、或、非、异或(Ⅱ)1.4.其他数学基础知识●常用数值计算矩阵和行列式、近似求解、插值、数值积分、常微分方程等常用的数值运算方法及运算误差的概念(Ⅰ)●排列组合概率论应用应用统计(数据的统计分析)(Ⅰ)●编码基础(ASCII码汉字编码奇偶校验海明码霍夫曼码、循环冗余码)奇偶校验码、海明码、霍夫曼码、循环冗余码的编码方法及指定实例时校验码的计算(Ⅰ)●命题逻辑、谓词逻辑、形式逻辑的基础知识(Ⅰ)●运筹基本方法(补充)2.计算机系统基础知识2.1.计算机硬件基础知识2.1.1.计算机系统的组成、体系结构分类及特性●CPU、存储器的组成、性能和基本工作原理CPU的基本组成结构(Ⅰ)存储器的组成及特点:内存、外存、缓存Cache、闪存(Ⅱ)存储器的性能指标定义:存取周期、存储容量和可靠性(Ⅱ)●常用I/O设备、通信设备的性能以及基本工作原理(Ⅰ)●I/O接口的功能、类型和特性CPU在与I/O设备进行数据交换时存在的主要问题:速度不匹配、时序不匹配、信息格式不匹配、信息类型不匹配(Ⅰ)CPU与外设之间的数据交换必须通过接口来完成,I/O接口的主要功能(Ⅱ)接口的控制方式及特点:CPU通过接口对外设进行控制的方式程序查询方式、中断处理方式、DMA(直接存储器存取)传送方式(Ⅱ)●CISC/RISC流水线操作多处理机并行处理RISC(精简指令集计算机)和CISC(复杂指令集计算机)的定义和特点(Ⅰ)流水线的定义及操作特点(Ⅱ)多处理机的概念(Ⅰ)单指令流单数据流(SISD)、单指令流多数据流(SIMD)、多指令流单数据流(MISD)、多指令流多数据流(MIMD)的概念和特点(Ⅱ)并行处理的基本概念(Ⅰ)2.1.2.存储系统●虚拟存储器基本工作原理多级存储体系虚拟存储器的定义和管理方式(Ⅰ)多级存储体系的组成及特点(Ⅱ)●RAID类型和特性RAID的定义和基本特点RAID0、RAID7、RAID10、RAID53等规范的特征(Ⅰ)2.1.3.可靠性与系统系能评测基础知识●诊断与容错容错技术与容错控制(Ⅰ)●系统可靠性分析评价系统的可靠性定义(Ⅰ)串联系统特点及可靠性度量(Ⅱ)并联系统特点及可靠性度量(Ⅱ)模冗余系统等可靠性数学模型的特点(Ⅰ)●计算机系统性能评测方法平均无故障时间(MTBF)的定义(Ⅰ)平均修复时间(MTRF)的定义(Ⅰ)可用性的定义(Ⅰ)2.2.计算机软件基础知识2.2.1.数据结构与算法知识●数组二维数组:按行存储和按列存储,数据元素存储位置的计算(Ⅱ) 特殊矩阵和稀疏矩阵的特点及压缩存储(Ⅱ)静态数组(固定容量数组)(Ⅰ)动态数组(根据应用需要申请或扩充数组的容量)(Ⅰ)●链表线性表的定义和基本运算(Ⅰ)线性表的顺序存储和特点(Ⅰ)单向链表、双向链表和环形链表的运算特点(Ⅱ)指针、结点、头指针和头结点的概念(Ⅱ)●队列和栈队列的定义、运算和存储结构(Ⅱ)栈的定义、运算和存储结构(Ⅱ)●树二叉树的定义(Ⅱ)满二叉树、完全二叉树的定义(Ⅱ)二叉树的性质(Ⅱ)二叉树的顺序存储和二叉链表存储(Ⅱ)二叉树的遍历:先序、中序、后序和层序(Ⅱ)最有二叉树的定义、特点和构造方法(Ⅱ)二叉排序树的定义和运算(Ⅱ)平衡二叉树、B-树、B+树的概念(Ⅰ)树与二叉排序树的相互转换(Ⅱ)●图的定义、存储和基本操作图结构的定义(Ⅰ)图的邻接矩阵存储和邻接表存储(Ⅱ)图的广度优先遍历和深度优先遍历操作(Ⅱ)●杂凑(Hash表)哈希(杂凑)表的构造、冲突的处理和元素的查找,平均查找长度的计算(Ⅱ)●常用的排序算法(排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的关系算法)插入排序、冒泡排序、选择排序算法(Ⅲ)希尔排序、快速排序、堆排序、归并排序方法及特点(Ⅱ)顺序查找、二分查找方法及特点(Ⅲ)模式匹配算法(Ⅱ)图的遍历算法、求最小生成树算法、拓扑排序算法、求最短路径算法、求关键路径算法的算法思想(Ⅱ)递归算法的设计方法(Ⅱ)●算法描述和分析算法的实现与数据结构的关系(Ⅱ)算法的效率分析(Ⅱ)算法的流程图、伪代码描述方式(Ⅱ)算法的时间复杂性和空间复杂性概念(Ⅰ)2.2.2.操作系统知识●操作系统的内核(中断控制、进程、线程概念)操作系统内核的功能和基本组成(Ⅰ)内核与用户程序的运行方式差别(Ⅰ)内核运行、中断控制的基本知识(Ⅰ)●处理机管理(状态转换、共享与互斥、分时轮转、抢占、死锁)进程、线程等基本概念,程序顺序执行和并发执行的基本特征(Ⅰ)进程的基本组成,进程的基本状态及状态间的切换三态模型与五态模型(Ⅱ)进程间的通信:同步与互斥、临界资源、临界区、信号量、PV操作(Ⅱ)管程的概念(Ⅰ)进程调度方式及常用的进程调度算法(Ⅱ)死锁的定义、产生死锁的原因、产生死锁的必要条件(Ⅱ)●存储管理(主存保护、动态连接分配、分段、分页、虚存)虚拟地址、地址空间、存储空间、地址重定位的基本概念(Ⅰ)分页存储管理(Ⅱ)程序的局部性特点,虚拟存储器的实现方法(Ⅰ)页面置换算法:最佳置换算法、先进先出置换算法、最近最久未使用置换算法、最近未用置换算法(Ⅱ)●设备管理(I/O控制、假脱机)设备分类方法(Ⅰ)通道、DMA的概念及特点(Ⅰ)Spooling(SimultaneousPeripheralOperationsOnLine)定义、组成和结构(Ⅰ)磁盘调度算法:先来先服务(First-Come-First-Served,FCFS)、最短寻道时间优先SSTF (ShortestSeekTimeFirst)、扫描算法(SCAN)、单向扫描调度算法(CSCAN)、磁盘调度算法的基本思想(Ⅱ)●文件管理(文件目录、文件组织、存取方法、存取控制、恢复处理)文件、文件系统、文件类型、文件组织结构的基本概念(Ⅰ)文件的物理结构:连续结构、链接结构、索引结构、多个物理块的索引表结构的基本概念(Ⅰ)目录,一级目录、二级目录、多级目录的基本概念(Ⅰ)文件的存取方法:顺序存取法、直接存取法、按键存取法的基本概念(Ⅰ)文件存储空间的管理:位示图、空闲区表、空闲块链、成组链接法基本思想(Ⅰ)●作业管理(作业调度、作业控制语言(JCL)、多道程序设计)作业的状态(提交、后备、执行、完成)、作业控制块和作业后备队列的基本概念(Ⅰ) 先来先服务、短作业优先、响应比高优先作业调度算法思想(Ⅱ)优先级调度算法思想(Ⅱ)●网络操作系统和嵌入式操作系统基础知识网络操作系统的特征和分类(Ⅰ)嵌入式操作系统的特点(Ⅰ)操作系统的配置(Ⅰ)2.2.3.程序设计语言和语言处理程序知识●汇编、编译、解释系统的基础知识和基本工作原理语言翻译的基本概念(Ⅰ)汇编的基本方法(Ⅰ)编译的基本过程及编译各阶段的基本任务(Ⅰ)解释的基本过程(Ⅰ)有限自动机的定义及构造(Ⅱ)正规表达式的定义、构造及特点(Ⅱ)上下文无关文法的定义(Ⅰ)句子的推导(Ⅱ)●程序设计语言的基本成分(数据、运算、控制和传输),程序调用的实现机制程序设计语言的数据、运算、控制及输入输出处理机制(Ⅰ)函数的参数传递机制:传值、传地址(Ⅱ)●各类程序设计语言的主要特点和适用情况过程式程序语言、面向对象程序设计语言、函数式程序设计语言、逻辑程序设计语言的基本特点(Ⅰ)脚本语言的特点(Ⅰ)2.2.4.数据库知识●数据库模型(概念模式、外模式、内模式)概念模式(模式)、外模式(用户模式或子模式)、内模式(物理模式)的基本概念(Ⅱ) 三级模式和两级映像(模式/内模式映像、外模式/模式映像)的基本概念(Ⅱ)数据的独立性(数据的逻辑独立性、数据的物理独立性)的基本概念(Ⅱ)●数据模型ER图规范化数据模型:层次模型、网状模型、关系模型、面向对象模型的基本概念(Ⅰ);关系模型的应用方法(Ⅱ)数据模型的三要素(数据结构、数据操作、数据的约束条件)的含义(Ⅰ)E-R模型方面的基本概念(Ⅱ);E-R图E-R模型向关系模型的转换的基本方法(Ⅱ) 实体中主键、候选键、外键方面的基本概念(Ⅱ)联系类型(一对一1:1、一对多1:n、多对多m:n)的基础知识(Ⅱ)属性(简单属性、复合属性、单值属性、多值属性、NULL属性、派生属性)的含义(Ⅰ) 关系模式规范化的程度:第一范式、第二范式、第三范式(Ⅰ)●数据库操作(集合运算和关系运算)关系数据库、关系数据库模式的基本概念(Ⅱ)关系模型的完整性规则:实体完整性、参照完整性、用户定义完整性的基本概念(Ⅰ) 5种基本的关系运算(并、差、笛卡尔积、投影、选择)的基本概念(Ⅰ);扩展的关系运算中选择、投影、连接运算方法(Ⅱ);扩展的关系运算中的除法、外联接方面的基本概念(Ⅰ)●数据库语言(SQL)数据定义语言(DDL):CREATE TABLE(创建表)使用方法(Ⅱ)数据操纵语言(DML):SELECT(查询)、INSERT(插入)、DELETE(删除)和UPDATE(修改)使用方法(Ⅱ)完整性(integrity)定义:PRIMAR YKEY、FOREIGN KEY REFERENCES使用方法(Ⅱ)权限管理(authorization):GRANT和REVORK使用方法(Ⅱ)●数据库管理系统的功能和特征数据库管理系统的特征、功能与组成、文件系统的特征文件系统与数据库管理系统的差异的基本概念(Ⅰ)●数据库的控制功能(并发控制、恢复、安全性、完整性)事务的基本概念、事务的特性、故障的类型的基础知识(Ⅰ)数据不一致性(丢失修改、不可重复读、读脏数据)的基础知识(Ⅰ)并发控制中活锁/死锁、可串行性、两段锁协议的基本概念(Ⅰ)安全控制(权限机制、视图机制、加密机制)的基本概念(Ⅰ)事务、事务的特性、事务的状态、事务状态的转换的基本概念(Ⅰ)故障的类型、故障的恢复技术、恢复策略的基础知识(Ⅰ)并发控制后会产生丢失修改、不可重复读、读脏数据三类数据不一致性(Ⅰ),造成数据不一致性的原因(Ⅱ)并发控制中事务的调度(串行调度、并行调度)、活锁/死锁、可串行性、两段锁协议的基础知识(Ⅰ);造成数据不一致性的原因(Ⅰ)安全控制(权限机制、视图机制、加密机制)的基本概念(Ⅰ)●数据仓库和分布式数据库基础知识数据仓库(DataWarehouse,DW):基本特性、数据模式、体系结构的基本概念(Ⅰ) 数据仓库模型:企业仓库、数据集市和虚拟仓库的基本概念(Ⅰ)分布式数据库的定义、体系结构、设计目标、分布数据独立的基本概念(Ⅰ)2.3.计算机网络知识●网络体系结构(网络拓扑、OSI/RM、基本的网络协议)网络拓扑(Ⅱ)OSI/RM、TCP/IP(Ⅱ)常用的网络协议(Ⅱ)●传输介质传输技术传输方法传输控制(Ⅰ)●常用网络设备和各类通信设备的功能和特点(Ⅰ)●Client-Server结构、Browser-Server结构的特点(Ⅰ)●LAN拓扑,存取控制,LAN的组网,LAN间连接,LAN-WAN连接(补充)●局域网拓扑结构(Ⅱ)存取控制(Ⅰ)网间互联(Ⅰ)●Internet和Intranet基础知识以及应用(Ⅱ)●网络软件(Ⅰ)●网络管理及网络性能分析(Ⅰ)2.4.多媒体基础知识●多媒体系统基础知识媒体分类:感觉媒体、表示媒体、表现媒体、存储媒体和传输媒体的基本概念(Ⅰ) 多媒体、超媒体、流媒体的基本概念(Ⅰ)色彩的三基色、彩色空间、三要素基本概念(Ⅰ)图形和图像图像分辨率与显示分辨率、像素深度、真伪彩色图像的压缩标准的基本概念(Ⅱ)●简单图形的绘制图像文件的处理方法图像的压缩编码:有损压缩和无损压缩方面的基本概念(Ⅰ)JPEG、MPEG和H.261等编码及压缩标准方面的基本概念(Ⅰ)图像文件的处理方法的基础知识(Ⅰ)●音频和视频信息的应用常见的声音文件格式(Ⅰ)数字声音信号、波形声音的基本概念(Ⅰ)声音信号的数字化,包括采样、量化、编码;了解数字语音的数据压缩方法,波形编码、参数编码、混合编码的基础知识(Ⅱ)●多媒体应用开发过程(补充)3.系统开发和运行知识3.1.软件工程基础知识●软件生存周期与软件生存周期模型瀑布模型、演化模型、螺旋模型、喷泉模型(Ⅱ)●软件开发方法结构化方法、面向对象方法的基本概念(Ⅱ)●软件工具与软件开发环境分析工具、设计工具、编程工具、测试工具、维护工具、CASE(Ⅰ)●软件开发项目管理成本估算、风险分析、进度管理(Gantt图、PERT图)、人员管理(Ⅰ)3.2.系统分析基础知识●系统分析的主要步骤(Ⅰ)●结构化分析方法数据流图的基本构成、数据字典、加工逻辑的描述(结构化语言、决策表、决策树)(Ⅱ)3.3.系统设计基础知识●概要设计与详细设计的基本任务(Ⅰ)●系统设计的基本原理抽象、模块化、信息隐蔽、模块独立(耦合、内聚)的基本概念(Ⅰ)●系统模块结构设计模块的概念、模块结构图的构成与内涵(Ⅰ)●结构化设计方法(变换分析、事务分析的概念及基本步骤)(Ⅰ)●面向数据结构的设计方法(Jackson方法的设计步骤)(Ⅰ)●系统详细设计代码设计的基本原则(Ⅰ)输入/输出设计的基本原则(Ⅰ)处理过程的设计(程序流程图、盒图、决策树、决策表)(Ⅰ)用户界面设计的基本原则(Ⅰ)3.4.系统实施基础知识●系统实施的基本内容(Ⅰ)●程序设计方法结构化程序设计方法、面向对象程序设计方法的基本概念(Ⅱ)●程序设计的基本模块(Ⅰ)●系统测试系统测试的基本原则(Ⅰ)用黑盒法设计测试用例(等价类划分、边界值划分、错误推测、因果图)(Ⅱ) 用白盒法设计测试用例(逻辑覆盖、循环覆盖、基本路径测试)(Ⅱ)理解单元测试、集成测试、确认测试与系统测试的基本内容(Ⅱ)●系统转换3.5.系统运行和维护基础知识●系统可维护性的概念(Ⅰ)●系统维护的类型正确性维护、适应性维护、完善性维护、预防性维护的基本概念(Ⅱ)●系统评价的概念与类型(Ⅰ)3.6.软件质量管理基础知识●软件质量特性(ISO/IEC 9126 软件质量模型)(Ⅰ)●软件质量保证(Ⅰ)●软件复杂性的概念及度量方法(McCabe度量法)(Ⅰ)●软件评审(设计质量评审、程序质量评审)(Ⅰ)●软件容错技术容错软件的定义、容错的一般方法(结构冗余、信息冗余、时间冗余、冗余附加技术)(Ⅰ)3.7.软件过程改进基础知识软件能力成熟度模型CMM(Ⅱ)统一过程(UP)与极限编程(XP)的基本概念(Ⅱ)4.面向对象基础知识4.1.面向对象的基本概念●对象、消息、类、继承(单继承、多继承)、多态(动态绑定机制)(Ⅱ)4.2.面向对象分析与设计知识●面向对象分析的基本活动认定对象、组织对象、描述对象间的相互作用、定义对象的操作、定义对象的内部信息(Ⅱ)●面向对象分析与设计方法PeterCoad和EdwardYourdon的OOA和OOD方法(Ⅰ)Booch的OOD方法(Ⅰ)OMT的分析与设计方法(Ⅰ)UML的基本概念及各种图形能够熟练地使用UML的各种模型绘制面向对象分析与设计模型(Ⅱ)面向对象测试的基本概念(Ⅰ)4.3.分析模式与设计模式知识设计模式的基本概念及其要素(Ⅰ)创建型设计模式(Ⅱ)结构型设计模式(Ⅱ)行为型设计模式(Ⅱ)4.4.面向对象程序设计知识●程序设计语言中的面向对象机制类与对象、对象自身引用、无实例的类(Ⅱ)继承与类层次结构(Ⅱ)消息传递与方法(Ⅱ)重置与重载(Ⅱ)●类库的概念(Ⅱ)4.5.面向对象数据库、分布式对象基础知识(Ⅰ)5.信息安全知识●信息系统安全基础知识计算机系统安全、网络安全、信息安全的基础知识(Ⅰ)●信息系统安全管理防治计算机病毒、防范计算机犯罪、存取控制、防闯入、防灾(Ⅰ)●保障完整性与可用性的措施(Ⅰ)●加密与解密机制基础知识(Ⅱ)●风险管理(风险分析、风险类型、抗风险措施和内部控制)(Ⅰ)●计算机安全相关的法律、法规基础知识(Ⅰ)6.标准化、信息化和知识产权基础知识6.1.标准化基础知识●标准化基础知识标准化目的、意义、组织机构及内容方面的基本概念(Ⅰ)标准化分类、代号与编号规定方面的基本概念(Ⅰ)标准制订过程方面的基础知识(Ⅰ)●标准分类国际标准、国家标准、行业标准、企业标准的表示方法(Ⅱ)●代码标准、文件格式标准、安全标准、软件开发规范和文档标准、互联网相关标准、软件开发规范和文档标准、基于构件的软件标准代码标准、文件格式标准、安全标准方面的基本概念(Ⅰ)软件开发规范和文档标准、互联网相关标准方面的基本概念、基于构件的软件标准(Ⅱ)安全标准、互联网相关标准方面的基本概念(Ⅰ)●标准化机构(补充)6.2.信息化基础知识●全球信息化趋势、国家信息化战略、企业信息化战略和策略(Ⅰ)●互联网关的法律、法规知识(Ⅰ)●个人信息保护规则(Ⅰ)●远程教育、电子商务、电子政务等基础知识(Ⅰ)●企业信息资源管理基础知识(Ⅰ)6.3.知识产权基础知识●保护知识产权有关的法律、法规软件有关的法律、法规方面的基础知识(Ⅰ)著作权法、软件保护条例及软件著作登记的基础知识(Ⅰ)软件著作权主体与客体、权力内容、权力归属、侵权责任分析侵权行为(Ⅱ)专利法、商标法、商业秘密权对软件的保护(Ⅰ)7.计算机专业英语具有工程师所要求的英语阅读水平(Ⅱ)理解本领域常用英语术语(Ⅱ)考试科目2 软件设计1.外部设计1.1.理解系统需求说明(Ⅱ)1.2.准备进行系统开发●选择开发方法、准备开发环境、制订开发计划(Ⅰ)1.3.设计系统功能●选择系统结构(Ⅱ)●设计各子系统的功能和接口(Ⅱ)●设计安全性策略、需求和实现方法(Ⅱ)●制订详细的工作流和数据流(Ⅱ)1.4.设计数据模型●设计ER模型及其他数据模型掌握E-R模型、UML模型的表示方法和使用方法,关系模型的定义、相关知识以及符号化表示方法(Ⅱ)通过从数据库逻辑设计中如何构造一个好的数据库模式出发,掌握关系规范化的实际背景、理论及模式规范化的方法(Ⅱ)掌握如何用关系数据库设计理论作指导,进行数据库逻辑设计,重点掌握E-R模型向关系模型转换的方法(Ⅲ)1.5.编写外部设计文档●系统配置图、各子系统关系图(Ⅰ)●系统流程图、系统功能说明书(Ⅰ)●输入输出规格说明、数据规格说明、用户手册框架(Ⅰ)●设计系统测试要求(Ⅰ)1.6.外部设计的评审(Ⅰ)2.内部设计2.1.设计软件结构●按构建分解,确定构建功能、规格以及构建之间的接口(Ⅱ)●数据结构与算法设计数据结构设计:线性表、查找表、树、图的顺序存储结构和链表存储结构的设计和实现(Ⅲ)算法设计:迭代、穷举搜索、递推、递归、回溯、贪心、动态规划、分治等算法设计(Ⅲ)●采用中间件和工具(Ⅰ)2.2.设计输入输出屏幕界面设计、输入输出格式设计(Ⅱ)分析数据特性,确认逻辑数据组织方式、存储介质设计记录格式和处理方式(Ⅱ) 将逻辑数据结构换成物理数据结构,计算容量,进行优化和检查信息(Ⅱ)2.3.设计物理数据(Ⅱ)2.4.构件的创建和重用●创建构件、重用构件(Ⅰ)●使用子程序库或类库AWT、Swing用户界面与事件处理机制(Ⅰ)Java语言中流与文件的应用(Ⅲ)Java语言中的多线程的开发与应用(Ⅲ)Java语言中集合类库的应用(Ⅲ)Java语言中网络、数据库的开发与应用(Ⅲ)C++标准类库中容器库的应用(Ⅲ)C++标准类库中算法库的应用(Ⅲ)C++标准类库中的迭代器的应用(Ⅲ)C++标准类库中的字符串的应用(Ⅲ)C++标准类库中的流与文件的应用(Ⅲ)C语言标准函数库(Ⅲ)2.5.编写内部设计文档●构件划分图、构件间的接口、构件处理说明(Ⅰ)●屏幕界面设计文档、报表设计文档、文件设计文档、数据库设计文档(Ⅰ)2.6.内部设计的评审(Ⅰ)3.数据库应用分析与设计●设计关系模式掌握给定一个实际的应用问题如何设计E-R模型,如何将E-R模型转换成关系模式, 确定联系类型、主键、候选键、外键判断关系模式规范化的程度(Ⅲ)●数据库语言SQL掌握给定一个实际的应用问题如何用SQL进行数据定义(创建表、视图)、完整性定义及权限定义(Ⅲ)●数据库访问掌握常用数据库的访问方法(Ⅱ)4.程序设计4.1.模块划分(原则、方法、标准)(Ⅱ)4.2.编写程序设计文档模块规格说明书(功能和接口说明,程序处理逻辑、输入输出数据格式的描述)(Ⅱ) 测试要求说明书(测试类型和目标、测试用例、测试方法)(Ⅱ)4.3.程序设计评审(Ⅱ)5.系统实施5.1.配置计算机系统及环境(Ⅱ)5.2.选择合适的程序设计语言(Ⅱ)5.3.用C程序设计语言以及C++、Java中的任一种程序设计语言进行程序设计用C语言实现常用的数据结构与算法及应用程序(Ⅲ)用C++语言实现常见的设计模式及应用程序(Ⅲ)用Java语言实现常见的设计模式及应用程序(Ⅲ)5.4.系统测试●指导程序员进行模块测试并进行验收(Ⅰ)●准备系统集成测试环境和测试工具(Ⅰ)●准备测试数据(Ⅰ)●写出测试报告(Ⅰ)6.软件工程应用6.1.软件开发周期模型(瀑布模型、螺旋模型、喷泉模型)(Ⅱ)6.2.需求分析●定义软件需求(系统化的目标、配置、功能、性能和约束功能需求与非功能需求)(Ⅱ) ●描述软件需求使用面向数据流的模型和面向对象模型描述软件的功能需求和非功能需求(Ⅲ) 描述软件需求的功能层次模型、控制流模型、面向数据结构的模型(Ⅰ)●定义软件需求的方法使用结构化分析方法定义软件需求,能够根据具体问题,绘制相应的DFD模型,并定义数据字典,采用决策表或决策树的方式描述加工逻辑(Ⅲ)使用面向对象分析方法定义软件需求,能够根据具体问题,创建符合UML标准的类图、用例图,并准确识别类中的关键属性和方法,以及类之间的关联(Ⅲ) 以UML状态图、活动图以及序列图所表达的软件需求(Ⅱ)6.3.软件设计●软件设计的基本原则分析与集成、逐步求精、抽象、信息隐蔽、模块化(Ⅰ)●软件设计方法(结构化设计方法、Jackson方法、Warnier方法、面向对象设计方法)结构化设计方法,并能够根据具体问题,在结构化分析的基础上给出设计结果(Ⅱ) 面向对象的设计方法,并能够根据具体问题,给出相应的符合UML标准的设计模型(Ⅲ)Jackson方法的基本理念及基本步骤(Ⅰ)●程序设计(补充)6.4.软件测试的原则与方法(Ⅱ)6.5.软件质量(软件质量特性、软件质量控制)(Ⅱ)6.6.软件过程(软件过程评估基本方法、软件能力成熟度评估基本方法)(Ⅱ)6.7.软件开发环境和开发工具(分析工具、设计工具、编程工具、测试工具、维护工具、CASE)(Ⅱ)6.8.面向对象技术●面向构件技术(Ⅰ)●统一建模语言UMLUML的基本概念与作用(Ⅲ)用例图的表示与应用(Ⅲ)类图与对象图的表示与应用(Ⅲ)序列图的表示与应用(Ⅲ)活动图的表示与应用(Ⅲ)通信图的表示与应用(Ⅲ)组件图的表示与应用(Ⅲ)部署图的表示与应用(Ⅲ)状态图的表示与应用(Ⅲ)●软件过程改进模型和方法(补充)6.9.网络环境软件技术(Ⅰ)。
以下是2023年软件评测师考试大纲,希望对你有所帮助:
1. 考试要求:
- 熟悉计算机基础知识;
- 熟悉操作系统、数据库、中间件、程序设计语言基础知识;
- 熟悉计算机网络基础知识;
- 熟悉软件工程知识,理解软件开发方法及过程;
- 熟悉软件质量及软件质量管理基础知识;
- 熟悉软件测试标准;
- 掌握软件测试技术及方法;
- 掌握软件测试项目管理知识;
- 掌握C语言以及C++或Java语言程序设计技术;
- 了解信息化及信息安全基础知识;
- 熟悉知识产权相关法律、法规;
- 正确阅读并理解相关领域的英文资料。
2. 考试目的:通过本考试的合格人员能在掌握软件工程与软件测试知识的基础上,运用软件测试管理措施、软件测试方略、软件测试技术,独立承担软件测试项目;具有工程师的实际工作能力和业务水平。
3. 考试科目:包括软件工程与软件测试基础知识和软件测试应用技术,考试时间均为150分钟,笔试,题型分别为选择题和问答题。
软考软件设计师考试大纲详细介绍:一、考试目标:通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应文档,并能够对软件进行调试和测试,确保软件质量达到预期的标准。
二、考试内容:1.计算机基础知识:包括计算机科学基础知识、计算机内数据的表示、算术和逻辑运算、数学基础知识等。
2.计算机系统知识:包括计算机硬件基础知识、计算机系统的组成和体系结构、CPU、存储器、输入输出设备、总线等。
3.操作系统知识:包括操作系统的基本概念、功能、分类、进程管理、内存管理、文件系统、输入输出管理等。
4.程序设计语言基础知识:包括程序设计语言的基本概念、语法、数据类型、控制结构、函数、面向对象编程等。
5.数据结构和算法:包括常用的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、查找、图算法等)。
6.软件工程:包括软件工程的基本概念、软件开发生命周期、软件需求分析、软件设计、编码、测试、维护、项目管理等。
7.数据库知识:包括数据库的基本概念、关系型数据库、SQL语言、数据库设计、事务处理、数据仓库等。
8.网络知识:包括网络的基本概念、网络体系结构、TCP/IP协议、网络编程、网络安全等。
9.软件设计方法和技术:包括软件设计的基本原则、设计模式、软件架构、组件化设计、软件性能优化等。
10.软件测试和调试:包括软件测试的基本概念、测试方法、测试用例设计、自动化测试、软件调试等。
11.项目管理:包括项目管理的基本概念、项目计划、进度控制、风险管理、团队管理等。
三、考试形式:1.考试采用笔试形式,分为上午和下午两个部分。
2.上午考试为基础知识,题型为客观选择题,共计75道选择题。
3.下午考试为应用技术,题型为问答题,共六道大题,包括必做题和选做题。
四、考试时间:根据过去的考试安排,上半年考试通常在5月底开始,而下半年考试通常在11月的第一个周末举行。
计算机软考中的项目管理软考考试大纲主要涵盖以下内容:
项目管理概述:包括项目管理的定义、目标和重要性,项目管理的基本原则和特点,项目管理的基本流程和方法。
项目集与项目组合管理:包括项目集的定义和特点,项目集管理的基本流程和方法,项目组合的定义和特点,项目组合管理的基本流程和方法。
项目发起与策划:包括项目发起的原因和过程,项目策划的定义和重要性,项目策划的基本流程和方法。
项目组织结构与角色:包括常见的项目组织结构形式,如直线式、职能式、矩阵式等,项目角色分配和职责划分。
项目范围管理:包括项目范围的定义和确定,项目范围管理的流程和方法,如WBS的制定、范围变更管理等。
项目时间管理:包括项目时间的定义和计算,项目时间管理的流程和方法,如时间表制定、进度控制等。
项目成本管理:包括项目成本的定义和计算,项目成本管理的流程和方法,如成本估算、成本控制等。
项目质量管理:包括项目质量的定义和保证,项目质量管理的流程和方法,如质量计划、质量控制等。
项目沟通管理:包括项目沟通的定义和重要性,项目沟通管理的流程和方法,如沟通计划、信息发布等。
项目风险管理:包括项目风险的定义和识别,项目风险管理的流程和方法,如风险评估、风险应对等。
项目采购管理:包括项目采购的定义和过程,项目采购管理的流程和方法,如采购计划、供应商管理等。
项目干系人管理:包括项目干系人的定义和识别,项目干系人管理的流程和方法,如干系人沟通、干系人满意度管理等。
需要注意的是,不同等级的项目管理软考考试大纲内容也会有所不同,以上内容仅供参考。
具体的考试大纲和要求还需根据相关考试机构的规定来确定。
软考软件设计师考试内容软考中的软件设计师考试内容主要包括计算机科学基础知识、计算机系统知识和计算机软件知识。
具体来说,包括以下知识点:1. 计算机科学基础知识:包括数制及其转换(二进制、八进制、十进制和十六进制等常用数制及其相互转换)、计算机内数据的表示(数的表示、非数值表示)、算术运算和逻辑运算(计算机中的二进制数运算方法、逻辑代数的基本运算)、其他数学基础知识(常用数值计算、排列组合、概率论应用、应用统计等)。
2. 计算机系统知识:包括计算机硬件基础知识(计算机系统的组成、体系结构分类及特性、CPU、存储器的组成、性能和基本工作原理、常用I/O设备、通信设备的性能以及基本工作原理、I/O接口的功能、类型和特性等)和存储系统(虚拟存储器基本工作原理、多级存储体系、RAID类型和特性等)。
还包括可靠性与系统性能评测基础知识(诊断与容错、系统可靠性分析评价、计算机系统性能评测方法)。
3. 计算机软件知识:包括数据结构与算法知识(数组、链表、队列、栈、树、图的定义、存储和基本操作、杂凑等)、操作系统知识(操作系统的内核、处理机管理、存储管理、设备管理、文件管理、作业管理、网络操作系统和嵌入式操作系统基础知识等)、程序设计语言和语言处理程序知识(汇编、编译、解释系统的基础知识和基本工作原理等)、数据库知识(数据库模型、数据模型、ER图、规范化等)。
此外,软件设计师考试还会涉及C程序设计语言,以及C++、Java中的一种程序设计语言。
同时,要求考生熟悉软件工程、软件过程改进和软件开发项目管理的基础知识,掌握软件设计的方法和技术。
还需要了解信息化、常用信息技术标准、安全性,以及有关法律、法规的基础知识,并能正确阅读和理解计算机领域的英文资料。
以上信息仅供参考,考试大纲可能会随时间有所变化,请考生查阅软考官网了解最新信息。
一、考试说明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、在软件设计过程中,以下哪项活动主要用于确定系统的功能和非功能需求?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年软件设计师的备考?软件设计师是软考中级热门的科目之一,想要了解更多的软考中级软件设计师看这篇就够了,看完可以帮忙点个▲嘞!软设计不难考,但是要花一些时间准备考试,整理所有考点。
课本虽然厚,但并不都重要。
因为已经考过了,所以一次就过了。
知识考的范围挺广的,但是中级软件设计师考的点不是很深。
一、中级软件设计师科目包括:软件设计师考试上午的综合知识选择题,覆盖的知识范围非常广,基本上涵盖了IT行业所需的大部分知识体系,包括硬件、操作系统、数据库、软件工程、面向对象等等。
二、中级软件设计师考试内容(1)掌握数据表示、算术和逻辑运算;(2)掌握相关的应用数学、离散数学的基础知识;(3)掌握计算机体系结构以及各主要部件的性能和基本工作原理;(4)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;(5)熟练掌握常用数据结构和常用算法;(6)熟悉数据库、网络和多媒体的基础知识;(7)掌握C程序设计语言,以及C++、Java、Visual Basic、Visual C++中的一种程序设计语言;(8)熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;(9)熟练掌握软件设计的方法和技术;(10)掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识;(11)了解信息化、计算机应用的基础知识;(12)正确阅读和理解计算机领域的英文资料。
三、中级软件设计师考试大纲基础知识1.计算机科学基础知识2.计算机系统知识3.系统开发和运行知识4.面向对象基础知识5.信息安全知识6.标准化、信息化和知识产权基础知识7.计算机专业英语应用技术1.外部设计2.内部设计3.数据库应用分析与设计4.程序设计5.系统实施6.软件工程应用四、中级软件设计师备考书籍《软件设计师教程》购买教育部官方指定的教材,必备;《软件设计师历年试题解析》重要的是有时间看,觉得有就买;《软件设计师大纲》梳理知识结构体系,考试大纲可以在网上找,需要的话可以打印或者就直接电子版也成。
软考中级软件设计师考试大纲一、考试科目名称:软件设计师。
二、考试目的和要求:1.考试目的:本考试旨在通过对能力培养和能力评价的结合,评估考生在软件设计领域的专业技能和实际应用能力。
2.考试要求:考生应该具备以下能力和知识:(1)深入理解面向对象设计思想和UML建模方法;(2)熟练掌握面向对象及面向过程编程,并具备独立开发复杂系统的能力;(3)掌握软件工程的基本理论和方法,并能运用这些方法规范自己的工作;(4)掌握数据库设计和开发、网络编程、高性能编程等技术;(5)了解软件测试和维护的方法,掌握软件开发工具和开发环境的使用。
三、考试内容和方式:1.考试内容:本考试分为两个模块:理论考试和实操考试。
(1)理论考试:涵盖需求分析、系统设计、详细设计、实现、测试、维护等软件开发的各个阶段。
其中,需求分析、系统设计和详细设计占50分,实现和测试占30分,维护占20分。
(2)实操考试:主要测试考生的程序设计实现能力,涉及面向对象设计、数据库设计和开发、网络编程、高性能编程等方面。
考试时间为4小时,实操测试占总分的50%。
2.考试方式:本考试采用笔试和机试相结合的方式进行。
理论考试为闭卷,实操考试为开卷。
笔试时间为3小时,机试时间为4小时。
笔试和机试在同一天进行。
四、考核标准:1.考试满分为100分,及格分数为60分;2.理论考试占50%,实操考试占50%;3.笔试和机试分别按照一定比例进行成绩计算;4.考生需经实操考试和理论考试均达标后才能获得证书。
五、考试参加条件和报名方法:1.参加条件:(1)拥有在读或已毕业的大专及以上学历;(2)已具备1年及以上的软件设计和开发经验。
2.报名方法:(1)通过官方网站注册并填写报名表;(2)缴纳报名费用;(3)提供相关证明材料(如学历证书等)。
(4)领取考试准考证。
六、其他事项:1.考试时间和地点将在考试前通知;2.考试过程中不允许使用手机、计算器等通信工具;3.考试期间不得离开考场;4.其它未尽事宜,按照相关规定执行。
2022软考系统架构设计师考试大纲目前官方还未通知更改2022年软考系统架构设计师多考试大纲,小编已特为各位考生整理出来详细的大纲内容,下面就和小编一起来看看详细的“2022年软考高级考试系统架构设计师考试大纲”吧!此文本仅供参考。
2022年软考高级考试系统架构设计师考试大纲一、考试说明1.考试目标考试合格人员应能够根据系统需求规格说明书,结合应用领域和技术发展的实际情况,考虑有关约束条件,设计正确、合理的软件架构,确保系统架构具有良好的特性;能够对项目睥系统架构进行描述、分析、设计与评估;能够按照相关标准编写相应的设计文档;能够与系统分析师、项目管理师相互协作、配合工作;具有高级工程师的实际工作能力和业务水平。
2.考试要求(1)掌握计算机硬软件与网络的基础知识;(2)熟悉信息系统开发过程;(3)理解信息系统开发标准、常用信息技术标准;(4)熟悉主流的中间件和应用服务器平台;(5)掌握软件系统建模、系统架构设计基本技术;(6)熟练掌握信息安全技术、安全策略、安全管理知识;(7)了解信息化、信息技术有关法律、法规的基础知识;(8)了解用户的行业特点,并根据行业特点架构合适的系统设计;(9)掌握应用的数学基础知识(10)熟练阅读和正确理解相关领域的英文文献;3.考试科目设计设置(1)信息系统综合知识,考试时间为150 分钟,笔试,选择题;(2)系统架构设计案例分析,考试时间为90 分钟,笔试,问答题;(3)系统架构设计论文,考试时间为120 分钟,笔试,论文题。
二、考试范围考试科目 1:信息系统综合知识1.计算机软件与网络基础知识1.1 操作系统操作系统的类型和结构操作系统基本原理网络操作系统及网络管理嵌入式操作系统与实时操作系统1.2 数据库系统数据库管理系统的类型、结构和性能评价常用的关系型数据库管理系统数据库模式数据库规范化分布式数据库系统,并行数据库系统数据仓库与数据挖掘技术数据库工程备份恢复1.3 嵌入式系统嵌入式系统的特点嵌入式系统的硬件组成与设计嵌入式系统应用软件及开发平台嵌入式系统网络嵌入式系统数据库1.4 数据通信与计算机网络数据通信的基本知识开放系统互连参考模型常用的协议标准网络互连与常用网络设备计算机网络的分类与应用1.5 多媒体多媒体的类型、特点及数据格式多媒体数据的压缩编码1.6 系统配置与性能评价多层结构、分布式系统系统配置方法(双份、双重、热备份、容错、集群)性能计算(响应时间、吞吐量、TAT)性能设计(系统调整、Amdahl 解决方案、响应特性、负载均衡)性能指标(SPEC-Int、SPEC-Fp、TPC、Gibsonmix、响应时间)性能评估2.信息化基础知识2.1 信息系统工程总体规划总体规划目标、范围总体规划的方法论信息系统的组成信息系统的实现2.2 政府信息化与电子政务电子政务的概念、内容和技术形式中国政府信息化的策略和历程电子政务建设的过程模式和技术模式2.3 企业信息化与电子商务企业信息化的概念、目的、规划、方法ERP 的主要模块和主要算法企业业务流程重组(BPR)CRM、PDM 在企业的应用知识管理企业应用集成全程供应链管理的思想商业智能电子商务的类型、标准2.4 信息资源管理2.5 国际和国内有关信息化的标准、法律和规定3.系统开发基础知识3.1 开发管理项目的范围、时间、成本文档管理工作、配置管理软件开发的质量与风险软件的运行与评价3.2 需求管理需求变更需求跟踪需求变更风险管理3.3 软件开发方法软件开发生命周期软件开发模型(瀑布模型、演化模型、增量模型、螺旋模型、原型,构件组装模型、RUP,敏捷方法)构件与软件重用逆向工程形式化方法3.4 软件开发环境与工具集成开发环境开发工具(建模工具、分析设计工具、编程工具、测试工具、项目管理工具等)3.5 设计方法分析设计图示(DFD、ERD、UML、流程图、NS 图、PAD)结构化分析与设计模块设计面向对象的分析与设计I/O 设计、人机界面设计设计模式3.6 基于构件的开发构件的概念与分类中间件技术典型应用架构(J2EE、.NET)3.7 应用系统构建应用系统设计与开发(分析与设计方法的使用、外部设计、内部设计、程序设计、测试)软件包的使用(开发工具、运行管理工具、业务处理工具、ERP、群件、OA工具)3.8 测试与评审测试评审方法验证与确认(V&V)测试自动化测试设计和管理方法4.软件架构基础知识软件架构的概念软件架构的风格特定领域软件架构基于架构的软件开发方法软件架构评估软件产品线设计模式5.安全性与可靠性技术4.1 信息安全与保密加密和解密身份认证(数字签名、密钥、口令)访问控制安全保密管理(防泄漏、数字水印)安全协议(SSL、PGP、IPSec)系统备份与恢复防治病毒4.2 系统可靠性可靠性设计(容错技术、避错技术)可靠性指标与评估4.3 安全性规章与保护私有信息规则信息系统安全法规与制度计算机防病毒制度保护私有信息规则6.标准化与知识产权标准化意识,标准化的发展,标准的的生命周期国际标准、美国标准、标准、行业标准、地方标准、企业标准代码标准、文件格式标准、安全标准、软件开发规范和文档标准标准化机构知识产权7.应用数据概率统计应用图论应用组合分析算法(数值算法与非数值算法)的选择与应用运筹方法(网络计划技术、线性规划、预测、决策、库存管理、模拟)数学建模8.专业英语具有高级工程师所要求的英文阅读水平掌握本领域的英语术语考试科目 2:系统架构设计案例分析1.系统规划系统项目的提出与可行性分析系统方案的制定、评价和改进新旧系统的分析和比较现有软件、硬件和数据资源的有效利用2.软件架构设计软件架构设计XML 技术基于架构的软件开发过程软件质量属性架构模型(风格)特定领域软件架构基于架构的软件开发方法架构评估软件产品线系统演化3.设计模式设计模式的概念设计模式的组成模式和软件架构设计模式分类设计模式的实现4.系统设计处理流程设计人机界面设计文件设计、存储设计数据库设计网络应用系统的设计系统运行环境的集成与设计中间件、应用服务器性能设计与性能评估系统转换计划5.软件系统建模系统需求建模的作用和意义定义问题(目标、功能、性能等)与归结模型(静态结构模型、动态行为模型、物理模型)结构化系统建模、数据流图面向对象系统建模统一建模语言(UML)数据库建模、E-R 图逆向工程6.分布式系统设计分布式通信协议的设计基于对象的分布式系统设计基于 Web 的分布式系统设计基于消息和协同的分布式系统设计异构分布式系统的互操作性设计7.嵌入式系统设计实时系统和嵌入式系统特征实时任务调度和多任务设计中断处理和异常处理嵌入式系统开发设计8.系统的可靠性分析与设计系统的故障模型和可靠性模型系统的可靠性分析和可靠度计算提高系统可靠性的措施系统的故障对策和系统的备份与恢复9.系统的安全性和保密性设计系统的访问控制技术数据的完整性数据与文件的加密通信的安全性系统的安全性设计考试科目 3:系统架构设计论文根据给出的系统架构设计有关的若干个专题,选择其中一个专题,按照规定的要求撰写论文。
高级资格中级资格初级资格计算机软件系统分析师、系统架构设计师、系统规划与管理师软件评测师、软件过程能力评估师、软件设计师程序员计算机网络网络规划设计师网络工程师网络管理员网页制作员计算机应用技术多媒体应用设计师、嵌入式系统设计师、计算机辅助设计师、电子商务设计师、计算机硬件工程师多媒体应用制作技术员、电子商务技术员信息系统信息服务信息系统项目管理师系统集成项目管理工程师、信息系统监理师、信息安全工程师、数据库系统工程师、信息系统管理工程师、信息技术支持工程师信息系统运行管理员信息处理技术员考试专业、资格与级别价值根据人事部、信息产业部文件(国人部发[2003]39号),计算机与软件考试纳入全国专业技术人员职业资格证书制度的统一规划。
通过考试获得证书的人员,表明其已具备从事相应专业岗位工作的水平和能力,用人单位可根据工作需要从获得证书的人员中择优聘任相应专业技术职务(技术员、助理工程师、工程师、高级工程师)。
计算机专业技术资格(水平)实施全国统一考试后,不再进行计算机技术与软件相应专业和级别的专业技术职务任职资格评审工作。
因此,这种考试既是职业资格考试,又是职称资格考试。
同时,这种考试还具有水平考试性质,报考任何级别不需要学历、资历条件,只要达到相应的技术水平就可以报考相应的级别。
部分级别的考试已与日本、韩国相应级别的考试互认,以后还将进一步扩大考试互认的级别以及互认的国家。
考试合格者将颁发由中华人民共和国人事部和中华人民共和国信息产业部用印的计算机技术与软件专业技术资格(水平)证书。
常见问题1.计算机技术与软件专业技术资格(水平)考试什么时候开始报名?报名时需要办理哪些手续?报名时间一般为考前2~3个月左右(分别是2月下旬和8月下旬),上半年考试时间为5月底(第三个周六、周日),下半年考试时间为11月中旬(第二个周六、周日)。
在当地考试机构指定的报名点,按当地标准交纳报名考试费,带身份证件,一寸近照三张。
2023年软考架构设计师考试大纲
2023年软考架构设计师考试大纲主要包括以下内容:
1. 系统架构设计师和软件架构师的基本概念和职责。
2. 计算机与网络知识,包括计算机系统、操作系统、网络技术等方面的知识。
3. 信息系统知识,包括信息系统的规划、设计、开发、测试、运行和维护等方面的知识。
4. 系统设计与管理,包括系统需求分析、系统设计、系统实现、系统测试、系统部署等方面的知识。
5. 软件工程,包括软件需求分析、软件设计、软件实现、软件测试、软件维护等方面的知识。
6. 信息安全,包括信息安全策略、网络安全、数据保护等方面的知识。
7. 标准化与知识产权,包括标准化知识、知识产权保护等方面的知识。
需要注意的是,2023年软考架构设计师考试大纲可能会根据实际情况有所调整,建议考生关注官方网站或考试机构发布的最新信息。
2023软考软件设计师考试大纲软件设计师考试是软考中的一门重要考试科目,旨在测试考生在软件设计领域的专业知识与技能。
了解并掌握考试大纲是备考的基础,本文将详细介绍2023软考软件设计师考试大纲,帮助考生更好地准备考试。
一、考试科目概述软件设计师考试主要考察考生在软件工程领域的知识和技能,包括软件需求分析与设计、软件开发、软件测试和调试、软件维护等方面的内容。
考试采用闭卷方式进行,分为笔试和实操两个环节。
二、考试大纲结构2023软考软件设计师考试大纲按照考试科目内容划分为多个模块,每个模块包含若干个知识点。
以下是考试大纲的结构:1. 软件工程基础知识模块1.1 软件工程概述1.2 软件开发生命周期1.3 需求工程1.4 软件设计原则与方法1.5 软件项目管理2. 面向对象分析与设计模块2.1 面向对象的基本概念 2.2 面向对象分析方法2.3 面向对象设计方法2.4 UML建模3. 软件架构与设计模式模块 3.1 软件架构的基本概念 3.2 常见软件架构类型3.3 设计模式的基本概念3.4 常用设计模式4. 软件测试模块4.1 软件测试基本概念4.2 测试方法与技术4.3 软件质量保证5. 软件开发工具与环境模块 5.1 集成开发环境5.2 版本管理工具5.3 软件配置管理工具5.4 软件测试工具三、备考建议为了顺利通过软件设计师考试,考生需要系统地学习和掌握考试大纲中的各个模块。
以下是备考建议:1. 充分理解考试大纲:仔细阅读考试大纲,了解每个模块的知识点和重点。
对于不熟悉的知识点,可参考相关教材进行学习。
2. 制定学习计划:根据考试大纲的结构和自己的实际情况,制定合理的学习计划。
合理分配时间,保证每个模块都能够得到充分的学习和复习。
3. 多做练习题:通过做大量的练习题,加强对于知识点的理解和应用能力。
可以选择一些经典的软考试题集进行练习,同时注意分析解题过程和思路。
4. 进行模拟考试:在备考过程中,进行模拟考试可以帮助考生了解考试形式和时间分配,增强应试能力和心理素质。
1.计算机系统基础知识1.1 计算机系统构成及硬件基础知识·计算机系统的构成·处理机·基本输入输出设备·存储系统1.2 操作系统基础知识·操作系统的中断控制、进程管理、线程管理·处理机管理、存储管理、设备管理、文件管理、作业管理·网络操作系统和嵌入式操作系统基础知识·操作系统的配置1.3 数据库基础知识·数据库基本原理·数据库管理系统的功能和特征·数据库语言与编程1.4 中间件基础知识1.5 计算机网络基础知识·网络分类、体系结构与网络协议·常用网络设备·Internet基础知识及其应用·网络管理1.6 程序设计语言知识·汇编、编译、解释系统的基础知识·程序设计语言的基本成分(数据、运算、控制和传输、过程(函数)调用)·面向对象程序设计·各类程序设计语言的主要特点和适用情况·C语言以及C++(或Java)语言程序设计基础知识2.标准化基础知识·标准化的概念(标准化的意义、标准化的发展、标准化机构)·标准的层次(国际标准、国家标准、行业标准、企业标准)·标准的类别及生命周期3.信息安全知识·信息安全基本概念·计算机病毒及防范·网络入侵手段及防范·加密与解密机制4.信息化基础知识·信息化相关概念·与知识产权相关的法律、法规·信息网络系统、信息应用系统、信息资源系统基础知识5.软件工程知识5.1 软件工程基础·软件工程概念·需求分析·软件系统设计·软件组件设计·软件编码·软件测试·软件维护5.2 软件开发方法及过程·结构化开发方法·面向对象开发方法·瀑布模型·快速原型模型·螺旋模型5.3 软件质量管理·软件质量及软件质量管理概念·软件质量管理体系·软件质量管理的目标、内容、方法和技术5.4 软件过程管理·软件过程管理概念·软件过程改进·软件能力成熟度模型5.5 软件配置管理·软件配置管理的意义·软件配置管理的过程、方法和技术5.6软件开发风险基础知识·风险管理·风险防范及应对5.7 软件工程有关的标准·软件工程术语·计算机软件开发规范·计算机软件产品开发文件编制指南·计算机软件需求规范说明编制指南·计算机软件测试文件编制规范·计算机软件配置管理计划规范·计算机软件质量保证计划规范·数据流图、程序流程图、系统流程图、程序网络图和系统资源图的文件编制符号及约定6.软件评测师职业素质要求·软件评测师职业特点与岗位职责·软件评测师行为准则与职业道德要求·软件评测师的能力要求7.软件评测知识7.1 软件测试基本概念·软件质量与软件测试·软件测试定义·软件测试目的·软件测试原则·软件测试对象7.2 软件测试过程模型·V模型·W模型·H模型·测试模型的使用7.3 软件测试类型·单元测试、集成测试、系统测试·确认测试、验收测试·开发方测试、用户测试、第三方测试·动态测试、静态测试·白盒测试、黑盒测试、灰盒测试7.4 软件问题分类·软件错误·软件缺陷·软件故障·软件失效7.5 测试标准7.5.1 GB/T 16260.1 – 2003 软件工程产品质量第1部分:质量模型7.5.2 GB/T 18905.1 – 2002 软件工程产品评价第1部分:概述7.5.3 GB/T 18905.5 – 2002 软件工程产品评价第5部分:评价者用的过程8.软件评测现状与发展·国内外现状·软件评测发展趋势9.专业英语·正确阅读并理解相关领域的英文资料考试科目2:软件测试应用技术1. 软件生命周期测试策略1.1 设计阶段的评审·需求评审·设计评审·测试计划与设计1.2 开发与运行阶段的测试·单元测试·集成测试·系统(确认)测试·验收测试2. 测试用例设计方法2.1 白盒测试设计·白盒测试基本技术·白盒测试方法2.2 黑盒测试用例设计·测试用例设计方法·测试用例的编写2.3 面向对象测试用例设计2.4 测试方法选择的策略·黑盒测试方法选择策略·白盒测试方法选择策略·面向对象软件的测试策略3. 软件测试技术与应用3.1 软件自动化测试·软件自动化测试基本概念·选择自动化测试工具·功能自动化测试·负载压力自动化测试3.2 面向对象软件的测试·面向对象测试模型·面向对象分析的测试·面向对象设计的测试·面向对象编程的测试·面向对象的单元测试·面向对象的集成测试·面向对象的系统测试3.3 负载压力测试·负载压力测试基本概念·负载压力测试解决方案·负载压力测试指标分析·负载压力测试实施3.4 Web应用测试·Web应用的测试策略·Web应用设计测试·Web应用开发测试·Web应用运行测试3.5 网络测试·网络系统全生命周期测试策略·网络仿真技术·网络性能测试·网络应用测试3.6 安全测试·测试内容·测试策略·测试方法3.7 兼容性测试·硬件兼容性测试·软件兼容性测试·数据兼容性测试·新旧系统数据迁移测试·平台软件测试3.8 易用性测试·功能易用性测试·用户界面测试3.9 文档测试·文档测试的范围·用户文档的内容·用户文档测试的要点·用户手册的测试·在线帮助的测试4. 测试项目管理·测试过程的特性与要求·软件测试与配置管理·测试的组织与人员·测试文档·软件测试风险分析·软件测试的成本管理三、题型举例(一)选择题·下面的哪一项测试步骤中需要进行局部数据结构测试:(1)(1)A. 单元测试 B. 集成测试 C. 确认测试 D.系统测试·软件的六大质量特性包括:(2)(2) A. 功能性、可靠性、可用性、效率、可维护、可移植B. 功能性、可靠性、可用性、效率、稳定性、可移植C. 功能性、可靠性、可扩展性、效率、稳定性、可移植D. 功能性、可靠性、兼容性、效率、稳定性、可移植(二)问答题1.白盒测试方法中的代码检查法需要重点考虑代码的执行效率,阅读以下两个循环,回答问题1和问题2。
软考高级的信息系统项目管理师、系统架构设计师、系统分析师、系统规划与管理师和系统评估师等五个考试大纲涉及内容如下:
信息系统项目管理师:考试涉及的信息系统项目管理知识体系,包括项目管理知识体系、项目管理工具和技能,以及信息系统安全和标准化等方面。
系统架构设计师:考试涉及的系统架构设计知识和技术,包括信息系统架构设计、开发技术、数据库设计、网络设计、系统安全设计等方面的知识和技术。
系统分析师:考试涉及的系统分析、设计、开发、测试和维护等方面的知识和技术,包括系统需求分析、系统设计、系统实现、系统测试和维护等方面的知识和技术。
系统规划与管理师:考试涉及的系统规划、管理等方面的知识和技术,包括系统规划、系统管理、系统维护等方面的知识和技术。
系统评估师:考试涉及的系统评估方面的知识和技术,包括系统性能评估、系统安全评估等方面的知识和技术。
软件设计师考试大纲
一、考试说明
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网络环境软件技术。