硕士研究生入学考试《软件工程学》考试大纲
一、考试要求
《软件工程学》是一门专业基础课,要求考生较系统地掌握软件工程的基本概念、原理、技术和方法,并能灵活地运用这些基本知识,为软件开发建立分析模型、设计模型、软件测试解决方案等。
本课程包括软件开发模型,软件项目管理,需求分析,软件设计,软件编码与测试,软件维护等。主要考查考生对软件工程学基础知识的理解,是否有软件开发过程的科学管理意识,掌握软件需求分析与软件设计基本方法,了解计算机辅助软件工程工具(CASE工具),掌握UML及其相关工具。
二、主要参考书目
软件工程(第二版),齐治昌 谭庆平 宁洪著,高等教育出版社,2004年03月出版
三、其它参考书目
张海藩,软件工程导论(第5版) ,清华大学出版社,2008 年2月出版。
四、考试题型及权重(共75分)
⑴选择题: 约15分;
⑵填空题: 约15分;
⑶问答题:30分;
⑷综合分析题:7分;
⑸综合设计题:8分。
五、考查范围
(1)软件与软件工程
理解软件的定义、软件工程的定义、软件危机出现的原因,以及解决危机的方法。理解软件工程的目标与原则,掌握软件生存周期、软件开发模型。
(2)软件项目管理
了解软件管理的必要性,了解软件项目管理的主要任务,理解软件度量的基本概念,了解项目估算、软件质量度量及软件可靠性度量的意义、了解软件开发过程管理的主要内容,了解软件成熟度模型的意义
(3)计算机系统工程
理解计算机系统工程的定义、组成部分,了解可行性研究的必要性,了解系统规格说明及评审。
(4)需求分析基础
理解需求分析的主要任务与原则,了解初步需求获取的技术,理解需求建模的有关概念,理解需求分析的快速原型技术,了解需求规格说明的内容与评审方法。
(5)面向数据流的分析方法
了解数据流图和数据字典的意义,理解数据流图和数据字典的组成部分,理解实体关系图,掌握数据流模型的创建方法。
(6)面向对象的需求分析
理解面向对象的基本概念,了解基于UML的需求分析的方法与步骤,能初步进行实例分析。
(7)软件设计基础
重点掌握软件设计的基本概念、基本技术(图形表示法与判定表),了解软件设计规格说明的内容与评审技术。
(8)面向数据流的设计方法
理解解数据流的基本概念和设计过程,了解变换分析、事务分析的概念,了解面向数据流图的软件设计方法及优化技术。
(9)面向对象的设计方法
理解UML的顺序图、协作图、交互图、类图、状态图、活动图的概念,了解面向对象软件设计的任务,掌握基于UML的软件设计的基本方法与步骤,并能进行实例设计。
(10)软件测试
理解软件测试的基本概念,掌握单元测试技术、集成测试、确认测试与系统测试的概念, 重点掌握白盒测试与黑盒测试技术,能进行测试用例的设计。
(11)软件维护
了解软件维护的概念与过程,重点了解软件维护过程中所需采用的主要技术,了解软件维护的副作用及其控制办法。
硕士研究生入学考试《数据结构》考试大纲
一、考试要求
《数据结构》是一门专业基础课,要求考生能够理解数据结构的基本概念;掌握数据结构中逻辑结构、存储结构的基本概念和差异,以及各种基本操作的实现;在掌握基本的数据处理原理和方法的基础上,能够对算法进行设计与分析;能够选择合适的数据结构和方法进行问题求解;能够针对具体问题设计正确的数据结构加以应用;具备采用类c或c++或JAVA语言设计与实现算法的能力。
本课程包括:算法的基本概念、分析和设计方法;软件开发中常用的各类结构,包括线性结构、树结构、图结构;查找、排序等各类常用算法。主要考察学生对数据结构基础知识的理解、是否具备对现有常用结构和算法的应用能力、是否具备针对具体应用设计合适数据结构的能力。
二、主要参考书目
《数据结构 (C语言版)》,严蔚敏,吴伟民, 清华大学出版社;
三、其它参考书目
《数据结构与算法分析( java语言描述)(第二版)》,Frank M. Carrano,清华大学出版社;
《数据结构(用面向对象方法与C++语言描述)第二版》,殷人昆,清华大学出版社
四、考试题型及权重(共75分)
(1)选择题: 15分;
(2)填空题: 15分
(3)简答题:20分;
(4)算法应用题:15分;
(5)算法设计题:10分。
五、考查范围
(1)基本概念和算法分析
本部分的目的是介绍数据结构中常用的基本概念和术语以及学习数据结构的意义。重点要求理解数据结构的基本概念、算法的基本要素和基本要求。掌握简单的算法时间/空间复杂度分析方法。理解抽象数据结构的定义,理解最好、最坏和平均复杂度的分析和计算方法。
(2)线性表
本部分的目的是介绍线性表的逻辑结构和各种存储表示方法,以及定义在逻辑结构上的各种基本运算及其在存储结构上如何实现这些基本运算。重点要求熟练掌握线性表的定义和基本操作,能够熟练掌握线性表的两种实现方法(顺序存储和随机存储),熟知线性表的应用范围。理解线性表的各种存储结构、操作实现的异同点,优缺点。
(3)栈和队列
本部分的目的是介绍栈和队列的逻辑结构定义及在两种存储结构上如何实现栈和队列的基本运算。重点要求熟练掌握栈和队列的基本概念,以及栈和队列的两种实现方法(顺序存储结构实现和链式存储结构实现)及其操作的实现。能够掌握栈和队列的基本应用。
(4)树和二叉树
本部分的目的是介绍二叉树的定义、性质、存储结构、遍历、线索化;树的定义、存储结构、遍历、树和森林的转换及哈夫曼树及其哈夫曼编码等内容。重点要求熟练掌握树的基本概念、基本性质。熟练掌握二叉树的定义及其主要特征、二叉树的顺序存储结构和链式存储结构、二叉树的遍历操作;掌握线索二叉树的基本概念和构造;掌握基于二叉树遍历操作所衍生出的各类操作,例如二叉树的构造、二叉树叶子节点的统计、求二叉树深度操作等。理解树的存储结构,掌握森林和二叉树的相互转换,树和森林的遍历操作。理解二叉排序树的基本原理和算法,掌握平衡二叉树的各种操作;掌握哈夫曼(Huffman)树和哈夫曼编码,并能够在实际的问题中加以应用。
(5)图
本部分的目的是介绍图的基本概念、两种常用的存储结构、两种遍历方法以及图的应用算法。重点要求掌握图的基本概念,基本性质。掌握图的存储方法,掌握图存储的邻接矩阵法和邻接表法。掌握图的两种遍历方法:深度优先遍历、广度优先遍历。理解基于图的最小(代价)生成树算法、最短路径算法、拓扑排序算法。了解关键路径算法。
(6)查找
本部分的目的是介绍线性表、树和哈希表的查找方法、算法实现以及各种查找方法的时间性能(平均查找长度)分析。重点要求掌握顺序查找、折半查找、二叉排序树和哈希表查找的基本思想和算法实现。了解平衡二叉树、B-树的基本概念及基本操作、B+树的基本概念。能够理解各种不同查找算法的适用情况,以及不同算法的性能分析。
(7)内部排序
内部排序部分的目的是介绍五大类内部排序方法的基本思想、排序过程、算法实现、时间和空间性能的分析;并且对各种排序方法进行比较。重点要求掌握直接插入排序、快速排序、堆排序和归并排序的基本思想和排序过程。理解基数排序、折半插入排序等排序方法的基本思想和排序过程。掌握各类排序方法的性质、效率对比。
2025国考·省考课程试听报名