软件工程师考试(中级)大纲.docx
一、考试说明1.考试要求:(1)掌握常见数据结构的特性;(2)掌握基本数据运算算法;(3)理解软件生存期的概念;(4)掌握快速原型开发方法;(5)掌握面向对象的开发技术;(6)掌握结构化分析和结构化设计方法;(7)掌握c+ +语言的程序设计技术。2 .通过本级水平考试的合格人员具有从事软件开发与管理的软件 工程师的实际工作能力和业务水平。3 .本级水平范围包括三个模块,即模块1、模块2和模块3。题 型为单项选择题十多项选择题。每个模块考试时间为90分钟。二、考试范围模块1: c+ +与面向对象程序设计1.1.面向对象程序设计方法和C+ +1. 1. 1面向对象程序设计的基本思想和基本概念1. 1. 2C+语言的开展历史1. 2.C+ +的数据类型1. 2. 1一种处理问题的方法1. 2. 2C+ +语言程序3. 10面向对象分析3. 10. 1需求陈述3. 10. 2发现和标识类和对象3. 10. 3标识类和对象层一应用分析3. 10. 4标识结构层3. 10. 5划分主题层3. 10. 6标识属性层3. 10. 7标识实例关系3. 10. 8标识服务和消息3. 11面向对象设计3. 11. 1基本概念3. 11. 2设计模型中关系的类型3. 11. 3设计问题论域局部3. 11. 4定义用户界面局部3. 11. 5设计任务管理局部3. 11. 6设计数据库3. 12类的设计3. 12. 1类设计的目标3. 12. 2通过复用设计类3. 12. 3类设计方针3. 13. 1程序设计风格3. 13. 2基于规格说明的测试3. 13. 3基于程序的测试,3. 13. 4组装测试3. 13.5针对子类的分层增殖式测试3. 13. 6测试计划1. 2. 5预处理1. 2. 6数据类型初步1. 2. 7常量1. 2. 8变量1. 2. 9指针类型1. 2. 10引用类型1. 2. 11常量类型1. 2. 12枚举类型1. 2. 13数组类型1. 2. 14类与继承1. 2. 15自定义类型名1. 3.表达式与语句1. 3.1表达式1. 3. 2类型转换1. 3. 3语句1. 3.4if 语句1. 3. 5switch 语句1. 3. 6循环语句1. 3. 7跳转语句1. 4类1. 4. 3静态成员变量和静态成员函数1. 4. 4内联函数1. 4. 5友元1. 4. 6对象和动态对象1. 4. 7类属性1. 5结构、联合和枚举1.5. 1结构1. 5. 2联合1. 5.3枚举型1. 6函数与函数重载1. 6. 1函数1. 6. 2动态空间分配1. 7继承性与派生类1, 7. 1类的层次概念1. 7. 2单继承1. 7. 3多继承1. 8多态性1. 8. 1函数重载1.8. 2运算符重载1.9. 3虚函数1. 9. 2输入与重载运算符“”1. 9. 3文件的输入/输出1. 9. 4状态函数1. 9. 5格式状态符1. 9. 6字符串输出格式1.10面向对象的程序设计环境1.10.1 面向对象的软件开发环境1. 10. 2类库1. 10.3BorlandC HH类库1. 11C+ +的应用1. 11. 1OOP与结构化程序设计1. 11. 2与汇编语言的接口1. 11. 3基于C+ +的良好OOP风格1. 11. 4面向对象的弹出式窗口模块2:算法和数据结构2. 1基本概念2. 1. 1什么是数据结构2. 1. 2抽象数据类型及面向对象概念2. 1、3数据结构的抽象层次2. 1. 4算法定义2. 2数组2. 2. 1作为抽象数据类型的数组2. 2. 2顺序表2. 2. 3多项式2. 2. 4稀疏矩阵2. 2. 5字符串2. 3链表2. 3. 1单链表2. 3. 2循环链表2. 3. 3多项式及其相加2. 3. 4双向链表2. 3. 5稀疏矩阵2. 4栈和队列2. 4. 1 栈表达式的计算2, 4. 3队列2. 4. 4优先级队列2. 5递归2. 5. 1递归的概念2.5. 2递归过程与递归工作栈2. 6, 1树和森林的概念2. 6. 2二叉树2. 6. 3二叉树的表示2. 6. 4二叉树遍历2. 6. 5穿线二叉树2. 6. 6 堆2. 6. 7树与森林2. 6. 8二叉树的计数2. 6. 9霍夫曼树2. 7图2.7. 1图的基本概念2. 7. 2图的存储表示2. 7. 3图的遍历与连通性2. 7. 4最小生成树2. 7. 5最短路径2. 7, 6活动网络2. 8集合与搜索2. 8. 1集合及其表示2. 8. 2等价类及并查集2. 9. 2动态索引表2. 9. 3B树与B +树2. 9. 4散列表2. 10排序2. 10. 1基本概念2. 10. 2插入排序2. 10. 3交换排序2. 10. 4选择排序2. 10.5归并排序2. 10. 6基数排序2. 10. 7磁盘排序模块3:软件工程方法3. 1软件工程基本概念3. 1. 1软件的概念、特点和分类3. 1. 2软件的开展和软件危机3.1. 3软件工程过程和软件生存期3. 1. 4软件生存期模型3. 1. 5软件工程的基本目标3. 2系统分析3.2. 1基于计算机的系统3. 2. 4可行性研究3. 2. 5系统结构的模型化3. 3面向过程的需求分析3. 3. 1软件需求分析的任务3. 3. 2基本符号3. 3. 3构造数据流模型3. 3.4数据词典3. 3. 5加工逻辑说明3. 3.6行为描述3. 4原型化方法3.4. 1为什么使用原型化方法3.5. 2软件原型的分类3. 4.3快速原型开发模型3. 4. 4原型开发技术概述3. 4. 5可执行的规格说明3. 5数据及数据库需求分析3. 5. 1有关数据库的基本概念3. 5.2ER方法3. 5. 3数据结构的规范化3. 5. 4数据库分析的过程3. 6. 2软件设计基础3. 6. 3模块设计3. 6. 4数据设计及文件设计3. 6. 5软件体系结构设计3. 6. 6结构化设计方法3. 7用户界面设计3. 7. 1用户界面应具备的特性3. 7. 2用户界面设计的任务分析3. 7. 3用户界面任务和工作设计3. 7. 4界面设计的基本类型3, 7. 5数据输入界面设计3. 7. 6数据显示界面设计3. 7. 7控制界面的设计3. 8软件测试3. 8. 1软件测试的概念软件测试策略3. 8. 3设计测试用例3. 9面向对象技术3. 9. 1面向对象的概念3. 9. 2面向对象方法的开发过程