1、1一、考试说明1考试目标通过本考试的合格人员能根据软件开发项目管理和软件工程的要求按照程序设计规格说明书编制并高度程序,写出相应的程序文档,产生符合标准规范的、实现设计要求的、能正确可靠运行的程序。具有助理工程师(或技术员)的实际工作能力和业务水平。2考试要求(1)掌握数制及其转换、数据的机内表示、算术和逻辑运算、应用数学的基础知识;(2)了解计算机的组成以及各主要部件性能指标;(3)掌握操作系统、程序设计语言的基础知识;(4)熟练掌握基本数据结构和常用算法;(5)熟练掌握程序设计语言以及+、Java 中的一种程序设计语言;(6)熟悉数据库、网络和多媒体的基础知识;(7)了解软件工程的基础知识
2、、软件过程基本知识、软件开发项目管理的常识;(8)了解常用信息技术标准、安全性以及有关法律、法规的基础知识;(9)了解信息化及计算机应用的基础知识;(10)正确阅读和理解计算机领域的简单英文资料。3考试科目设置(1)计算机与软件工程基础知识,考试时间为 150 分钟,笔试,选择题;(2)程序设计,考试时间为 150 分钟,笔试,问答题。二、考试范围考试科目 1:计算机与软件工程基本知识1计算机科学基础11 数制及其转换2 二进制、十进制和十六进制等常用数制及其相互转换12 数据的表示 数的表示 非数值数据的表示13 算术运算和逻辑运算 计算机中二进制数的运算方法 逻辑代数的基本运算14 数学应
3、用 常用数值计算(矩阵、近似求解、插值) 排列组合、应用统计 编码基础15 常用数据结构 数组 线性表及链表 队列、栈 树 图16 常用算法 算法与数据结构的关系 算法设计和算法描述 常用的排序算法 查找算法 常用的数值计算方法 字符串处理算法 递归算法 最小生成树、拓扑排序和单源点最短路径求解算法2计算机系统基础知识21 硬件基础知识211 计算机的类型和特点3 微机(PC 机) 、工作站、服务器、主机、大型计算机、巨型计算机、并行机212 中央处理器 CPU CPU 的组成 常用的寄存器 指令系统,寻址方式 指令执行控制、中断控制、处理机性能213 主存和辅存 存储介质 高速缓存(Cach
4、e) 、主存 辅存设备214 I/O 接口、I/O 设备和通信设备 I/O 接口 I/O 设备(类型、特性) 通信设备(类型、特性) I/O 设备、通信设备的连接方法和连接介质类型22 软件基础知识221 操作系统基础知识 操作系统的类型和功能 处理机管理 存储管理 设备管理 文件管理 作业管理(作业调度算法) 图形用户界面和操作方法222 程序设计语言和语言处理程序的基础知识 语言翻译基础知识(汇编、编译、解释) 程序设计语言的基本成分:数据、运算、控制和传输 程序语言类型和特点23 网络基础知识4 网络的功能、分类、组成和拓扑结构 基本的网络协议与标准 常用网络设备与网络通信设备,网络操作
5、系统基础知识 Client/Server 结构、Browser/Server 结构 局域网(LAN)基础知识 Internet 基础知识24 数据库基础知识 数据库管理系统的主要功能和特征 数据库模式(概念模式、外模式、内模式) 数据模型、ER 图 数据操作(关系运算) 数据库语言(SQL) 数据库的主要控制功能(并发控制、安全控制)25 多媒体基础知识 多媒体基本知识 常用多媒体设备性能特征,常用多媒体文件格式类型26 系统性能指标 响应时间、吞吐量、周转时间 可靠性、可维护性、可扩充性、可移植性、可用性、可重用性、安全性27 计算机应用基础知识 计算机常用办公软件操作方法 计算机信息管理、
6、数据处理、辅助设计、自动控制、科学计算、人工智能等领域的应用 远程通信服务3系统开发和运行知识31 软件工程和项目管理基础知识 软件工程基础知识 软件开发生命周期各阶段的目标和任务 软件过程基本知识5 软件开发项目管理基本知识 软件开发方法(原型法、面向对象方法)基础知识 软件开发工具与环境基础知识(CASE) 软件质量管理基础知识32 系统分析设计基础知识 数据流图(DFD) 、实体联系图(ER 图)基本知识 面向对象设计、以过程为中心设计、以数据为中心设计基础知识 结构化分析和设计方法 模块设计、代码设计、人机界面设计基础知识33 程序设计基础知识 结构化程序设计、流程图、NS 图、PAD
7、 图 程序设计风格34 程序测试基础知识 程序测试的目的、原则、对象、过程与工具 黑盒测试、白盒测试方法 测试设计和管理35 程序设计文档基础知识 算法的描述、程度逻辑的描述、程度规格说明书 模块测试计划、模块测试用例、模块测试报告36 系统运行和维护基础知识 系统运行管理基础知识 系统维护基础知识4. 信息安全基础知识 信息系统安全基础知识 信息系统安全管理 加密与解密基础知识5标准化基础知识 标准化基本概念 标准的层次(国际标准、国家标准、行业标准、企业标准)6 相关标准(代码标准、文件格式标准、安全标准、软件开发规范和文档标准、互联网相关标准)6信息化基础知识 信息、信息资源、信息化、信
8、息工程、信息产业、信息技术的含义 全球信息化趋势、国家信息化战略、企业信息化战略和策略常识 有关的法律、法规要点7计算机专业英语 具有助理工程师(或技术员)英语阅读水平 掌握本领域的英语基本术语考试科目 2:程序设计1内部设计11 理解外部设计 12 软件功能划分和确定结构 数据流图(DFD) 、结构图13 物理数据设计 确定数据组织方式、存储介质、设计记录格式,处理方式14 详细输入输出设计 界面设计、报表设计等15 内部设计文档 程序接口、程序功能、人机界面、输入输出、测试计划16 内部设计评审2程序设计21 模块划分(原则、方法、标准)22 编写程序设计文档 模块规格说明书(程序处理逻辑
9、、输入输出数据格式) 测试要求说明书(测试类型和目标、测试用例、测试方法)23 程序设计评审3程序实现31 编程7 编程方法和规范 程序设计语言的选择和使用 人工走查 程序文档化32 程序测试 测试环境和测试工具的选择和使用 测试数据的设计 测试报告的编写4程序设计语言(C 语言为必选,再在 C、C+、Java 语言中任选一种)41 C 程序设计语言(C99 标准)42 C+程序设计语言(ANSI C+标准)43 Java 程序设计语言(Java2)三、题型举例(一)选择题1在以下情况中, (1)适合于采用队列数据结构。(1)A. 监视一个火车站售票窗口等待服务的客户B. 描述一个组织中的管理
10、机制 C. 统计一个商场中的顾客数D. 监视进入某住宅楼的访客2软件测试的目的是(2) 。(2)A. 尽可能地找出软件中的缺陷B. 缩短软件的开发时间C. 减少软件的维护成本D. 证明程序没有缺陷3In C language,a (3) is a series of charaters enclosed in double quotes.(3)A. matrix B. stringC. program D. stream8(二)问答题试题一(必选样题)阅读以下说明和算法,完善算法并回答问题,将解答填入答题纸的对应栏内。【说明】假设以二维数组 G1.m,1.n表示一幅图像各像素的颜色,则 Gi,
11、j表示区域中点(i,j)处的颜色,颜色值为 0 到 k 的整数。下面的算法将指定点( )所在的同色邻接区域的颜色置换为给定的颜色值。约定所有与点( )同色的上、下、左、右可连通的点组成同色邻接区域。例如,一幅 89 像素的图像如图 1 所示。设用户指定点(3,5) ,其颜色值为0,此时其上方(2,5) 、下方(4,5) 、右方(3,6)邻接点的颜色值都为 0,因此这些点属于点(3,5)所在的同色邻接区域,再从上、下、左、右 4 个方向进行扩展,可得出该同色邻接区域的其他点(见图 1 中和阴影部分) 。将上述同色区域的颜色替换为颜色值 7 所得的新图像如图 2 所示。1 2 3 4 5 6 7
12、8 91 5 4 5 4 3 1 5 1 22 2 5 5 3 0 1 3 2 13 0 3 2 3 0 0 2 3 14 2 0 1 0 0 0 0 2 05 1 0 0 0 0 3 2 0 16 0 1 0 2 0 0 2 2 17 6 5 5 0 1 0 2 1 08 6 3 3 4 0 0 7 4 5图 11 2 3 4 5 6 7 8 91 5 4 5 4 3 1 5 1 22 2 5 5 3 7 1 3 2 13 0 3 2 3 7 7 2 3 14 2 7 1 7 7 7 7 2 05 1 7 7 7 7 3 2 0 196 0 1 7 2 7 7 2 2 17 6 5 5 0
13、1 7 2 1 08 6 3 3 4 7 7 7 4 5图 2【算法】输入:矩阵 G,点的坐标( ) ,新颜色值 newcolor。输出:点( )所在同色邻接区域的颜色为 newcolor 之后的矩阵 G。算法步骤(规范算法,规定该算法只在第七步后结束):第一步:若点( )的颜色值与新颜色值 newcolor 相同,则 (1) ;第二步:点( )的颜色值oldcolor;创建栈 S,并将点坐标( )入栈;第三步:若 (2) ,则转第七步;第四步:栈顶元素出栈(x,y) ,并 (3) ;第五步:1)若点(x,y-1)在图像中且 Gx,y-1等于 oldcolor,则(x,y-1)入栈 S;2)若
14、点(x,y+1)在图像中且 Gx,y+1等于 oldcolor,则(x,y+1)入栈 S;3)若点(x-1,y)在图像中且 Gx-1,y等于 oldcolor,则(x-1,y)入栈 S;4)若点(x+1,y)在图像中且 Gx+1,y等于 oldcolor,则(x+1,y)入栈 S;第六步:转 (4) ;第七步:算法结束。【问题 1】是否可以将算法中的栈换成队列?回答: (5) 。试题二(必做的 C 语言样题)阅读以下函数说明和 C 语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。【函数说明】函数 int fun 1(int m,int,n)的功能是:计算并返回正整数 m 和 n 的最
15、大公约数。【函数】int fun 1(int m,int n)10While( (1) )If (mn) m=m-n;Else n=n-m;(2) ;【函数说明】函数 long fun2(char *str)的功能是:自左至右顺序取出非空字符串 str 中的数字字符形成一个十进制整数(最多 8 位) 。例如,若字符串 str 的值为“f3g8d5.ji2e3p12fkp” ,则函数返回值为3852312。【函数】long fun2(char *str) int i=0;long k=0;char *p=str;while (*p != “0“ +i;(5) ;Return k;试题三(选做的 C 语言样题)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】