2019年北京交通大学考研软件学院自命题科目考试大纲.docx
一、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 数据结构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 ) 各种排序方法的算法实现以及时间复杂度和空间复杂度分析(理解)三、10201 操作系统1. 课程介绍 (1 ) 了解操作系统在现代计算机系统中的角色(2 ) 了解操作系统的历史(3 ) 理解有关的概念(4 ) 掌握现代操作系统有哪些核心模块, 及它们的基本功能(5 ) 了解操作系统本身的执行流程2. 进程管理(1 ) 理解进程的概念和意义, 知晓进程在操作系统空间中对应运行的不同状态, 以及三种调度器的工作机制, 以及抢占式和非抢占式调度策略(2 ) 掌握涉及的几种调度算法(3 ) 了解其他的调度算法(4 ) 了解同步问题, 以及相关的概念(5 ) 理解同步问题的解决(6 ) 掌握信号量的概念和使用它解决同步问题的技巧(7 ) 了解管程的技术(8 ) 理解死锁的概念, 掌握死锁发生的四个必要条件(9 ) 理解解决死锁的四种策略(10 ) 掌握避免策略中的银行家算法3. 内存管理(1 ) 了解现代计算机中存储介质的类型和速度(2 ) 理解相关的概念(3 ) 掌握其中涉及到的相关算法4. 设备和文件管理(1 ) 了解磁盘, 磁盘空间相关的扇区 , 磁道, 柱面等概念, 以及磁盘保存数据的基本原理(2 ) 了解操作系统管理设备的通用架构(3 ) 理解作为抽象概念的文件的概念, 以及文件在磁盘上实际保存的方式(4 ) 理解文件系统的概念和技术 目录和文件的组织, 以及它们的实现(5 ) 掌握磁盘读写调度的相关算法(6 ) 了解其他存储的概念和技术 USB, SPOOLING, RAID, SAN, NAS 等四、10202 计算机网络1. 概述(1 ) 1.计算机网络概述(熟悉)(2 ) 2.OSI/参考模型及 TCP/IP 模型(熟悉)2. 物理层(1 ) 1.数据通信模型、传输媒体(掌握)(2 ) 2.模拟传输与数字传输、信道复用(掌握)3. 数据链路层(1 ) 1.概念及功能(掌握)(2 ) 2.数据链路层协议(熟悉)4. 局域网(1 ) 1.传统以太网(掌握)(2 ) 2.IEEE802(掌握)(3 ) 3.无线局域网(熟悉)5. 广域网(1 ) 1.X.25 和帧中继(掌握)(2 ) 2.异步传输方式 ATM(掌握)(3 ) 3.分组转发机制、路由选择算法和拥塞控制(掌握)6. 网络互连(1 ) 1.路由器的构成、交换结构(熟悉)(2 ) 2.Internet 的网际协议 IP(掌握)(3 ) 3.Internet 的路由 RIP、OSPF、BGP (掌握)(4 ) 4.下一代互联网及 IPV6(掌握)7. 传输层(1 ) 1.TCP 和 UDP(掌握)(2 ) 2.SOCKET 的概念及应用(熟悉)(3 ) 3.TCP 协议的连接管理和拥塞控制(熟悉)8. 应用层(1 ) 1.域名系统 DNS(掌握)(2 ) 2.文件传输、远程终端协议(熟悉)(3 ) 3.电子邮件、www、cgi 及 snmp(熟悉)9. 计算机网络安全(1 ) 1.常规密钥密码体制和公开密钥密码体制(熟悉)(2 ) 2.数字签名和防火墙(熟悉)