一、901 软件工程
参考书目:《软件工程导论》张海潘(著)第六版
1. 软件工程概论
(1) 软件危机、软件工程的产生
(2) 软件的概念、软件工程的定义
(3) 软件工程的研究对象与基本原理
(4) 软件工程工具和环境
(5) 软件生存周期
(6) 软件过程模型
2. 需求分析
(1) 需求分析的目标和任务
(2) 软件系统的可行性分析
(3) 需求获取
(4) 需求规格说明书
(5) 数据流建模(数据流图)
(6) 实体-关系建模(E-R 图)
(7) 系统行为建模
(8) 用例建模(用例图)
(9) 面向对象建模
3. 软件概要设计与详细设计
(1) 概要设计的任务与步骤
(2) 软件设计的基本原则、抽象与逐步求精方法
(3) 详细设计的任务
(4) 结构化程序设计的概念和思想
(5) 面向对象程序设计的概念和思想
(6) 程序流程图
(7) 模型-视图-控制器框架(MVC)
4. 面向对象的程序设计方法
(1) 类、对象、封装、消息、继承、多态等基本概念
(2) 统一建模语言 UML 的基础知识
(3) 类图、时序图
5. 软件验证技术
(1) 软件测试的目标、过程和步骤
(2) 代码复审
(3) 白盒测试、黑盒测试的原理
(4) 路径覆盖、条件覆盖、边界值分析等测试用例设计技术
(5) 单元测试、集成测试、确认测试、系统测试
(6) 程序正确性证明
(7) 调试
6. 软件维护技术
(1) 软件维护的基本概念和基本活动
(2) 软件维护过程
(3) 软件可维护性
(4) 软件再工程技术
7. 软件质量保证
(1) 软件质量的概念
(2) 软件评审技术
(3) 软件质量保证的原理和措施
(4) 软件配置管理的概念和方法
8. 软件项目管理
(1) 项目管理的概念
(2) 软件度量
(3) 软件项目的评估:成本估计、效益分析
(4) 软件风险分析和管控
二、10101 数据结构
参考书目:严蔚敏、吴伟民等《数据结构》(C 版)、清华大学出版社、2011
1. 概述
(1) 数据结构的基本概念(理解)
(2) 算法的五个特性(理解)
(3) 计算语句频度和估算算法时间复杂度和空间复杂度的方法 (掌握)
(4) 抽象数据类型(理解)
2. 线性表
(1) 线性表的逻辑结构(理解)
(2) 线性表的顺序存储结构和链式存储结构(掌握)
(3) 线性表在顺序结构上实现基本操作的方法(掌握)
(4) 线性表在链式结构上实现基本操作的方法 (掌握)
(5) 从时间、空间复杂度的角度比较线性表两种存储结构的不同特点及其适用场合(理解)
3. 栈和队列
(1) 栈的特点(理解)
(2) 在顺序存储结构上栈的基本操作的实现(掌握)
(3) 在链式存储结构上栈的基本操作的实现(掌握)
(4) 递归算法中栈的作用(理解)
(5) 栈的典型应用实例(掌握)
(6) 队列的特点(理解)
(7) 在顺序存储结构上循环队列基本操作的实现(掌握)
(8) 在链式存储结构上链队列的基本操作的实现(掌握)
(9) 队列的典型应用实例(掌握)
4. 数组和广义表
(1) 数组的存储结构(理解)
(2) 数组在行序为主序的存储结构中的地址计算方法(掌握)
(3) 特殊矩阵的压缩存储方法(掌握)
(4) 稀疏矩阵的三元组表示以及运算处理方法(理解)
(5) 广义表的概念(理解)
5. 树与二叉树
(1) 二叉树的概念(理解)
(2) 二叉树的各种存储结构(掌握)
(3) 二叉树的性质(掌握)
(4) 按各种次序遍历二叉树的递归算法(掌握)
(5) 按各种次序遍历二叉树的非递归算法(掌握)
(6) 建立二叉树的各种算法(掌握)
(7) 建立最优二叉树和哈夫曼编码的方法(掌握)
(8) 树的各种存储结构及其特点(理解)
(9) 树与二叉树、森林与二叉树的相互转换(理解)
(10) 树与等价类划分问题(理解)
6. 图
(1) 图的基本概念(理解)
(2) 图的存储结构(邻接矩阵和邻接表)(掌握)
(3) 图的深度优先遍历和广度优先遍历(掌握)
(4) 最小生成树(PRIM 算法和Kruscal 算法)(掌握)
(5) 某一点到其他各点之间的最短路径(迪杰斯特拉算法)(掌握)
(6) 拓扑排序(掌握)
(7) 关键路径和关键活动(掌握)
7. 查找算法
(1) 顺序查找算法及特点(掌握)
(2) 折半查找算法及特点(掌握)
(3) 索引查找的过程和特点(理解)
(4) 二叉排序树的构造方法和查找过程(掌握)
(5) 二叉平衡树的旋转平衡方法(掌握)
(6) B-树的特点及其建立过程和查找过程(理解)
(7) 哈希表的构造方法和查找方法(掌握)
(8) 各种查找算法在等概率情况下查找成功和查找失败时的平均查找长度的计算方法(掌握)
8. 排序算法
(1) 插入排序(直接插入排序、折半插入排序)方法的排序过程和特点(掌握)
(2) SHELL 插入排序方法的排序过程(理解)
(3) 交换排序(起泡排序,快速排序)方法的排序过程和特点(掌握)
(4) 选择排序(简单选择排序,堆排序)的排序过程和特点(掌握)
(5) 归并排序方法的排序过程和特点(掌握)
(6) 基数排序方法的排序过程和特点(理解)
(7) 各种排序方法的算法实现以及时间复杂度和空间复杂度分析(理解)
领取专属 10元无门槛券
私享最新 技术干货