2022天津工业大学自命题考研大纲:840软件工程专业基础综合
天津工业大学全国统考硕士入学考试业务课程大纲(2021新修订)
课程编号:840 课程名称:软件工程专业基础综合
考试科目:软件工程专业基础综合
考试形式:笔试(闭卷)
考试时间:180分钟
考试总分:150分
一、总体要求
《软件工程专业基础综合》包括《软件工程》和《数据结构与程序设计》两门课程,其中《软件工程》要求考生了解软件工程的基本知识和方法,熟悉软件工程的主要环节,掌握最基础的软件工程理论方法,并能应用到实际的软件项目开发中。《数据结构与程序设计》要求考生能够比较系统地理解数据结构的基本概念、基本原理和方法,掌握数据的逻辑结构、存储结构以及各种基本操作的实现;要求考生能够运用所学的基本原理和基本方法对给定的实际问题,建立准确的问题模型,选择适当的数据结构和方法进行问题求解,设计有效的算法。程序设计指采用C语言,应用数据结构的相关知识进行程序设计,要求考生掌握基本的程序设计方法,对给定的实际问题,能够运用计算机处理问题的思维方法,具有解决问题的编程能力。
《软件工程》分值为60分,《数据结构与程序设计》分值为90分。
二、考试内容
(一)《软件工程》
1、基本概念
重点是软件的特性、软件工程学的研究范畴,以及学习软件工程的意义。掌握软件的概念、特点和软件工程的基本特征;理解为什么学习软件工程、如何学习。主要知识点:
(1)软件的概念和特点
(2)软件危机的概念和产生的原因
(3)软件工程的定义和发展过程
(4)软件工程的本质特征和基本原理
2、过程模型
重点是各种实用的软件过程模型,以及不同过程模型的特点比较。掌握几种典型模型的优缺点和能依据项目特征选择使用不同的模型;理解为什么有不同的模型、不同模型的特征。主要知识点:
(1)软件生命周期概念、软件过程概念
(2)常见的几种软件过程模型:瀑布、增量、原型、螺旋、喷泉等,比较各自优缺点
3、可行性研究
重点是可行性研究的目的,从哪些方面进行可行性研究,可行性研究的过程及工具。主要知识点:
(1)可行性研究涉及哪几个方面
(2)可行性研究的过程
(3)系统流程图、数据流图、数据字典
4、需求分析
重点是需求分析的一般步骤、数据流图(这个应该是可行性研究阶段的工具?)、需求规格说明文档的编制。掌握结构化分析模型的导出、数据流图的基本画法和需求规格说明文档的编制;理解需求分析的过程、主要步骤。主要知识点:
(1)需求分析的概念
(2)需求分析的过程:需求确认与需求变更
(3)需求确认的步骤:需求获取→需求提炼→需求描述→需求验证
(4)实体联系图
(5)数据流图作法。
5、系统设计
重点是面向数据流的设计方法的常用工具。掌握软件设计的主要技术、主要内容和主要方法,能根据具体项目进行模块划分和软件架构设计;理解软件设计和需求分析之间的相互关系。主要知识点:
(1)系统设计分为概要设计和详细设计
(2)与设计相关的概念:抽象、模块化、信息隐藏、功能独立、耦合、内聚。
(3)过程设计的工具
(4)掌握结构图作法。
6、质量保证
重点是软件测试策略和技术。掌握质量保证的概念、软件测试的概念及常用方法;理解质量保证活动在软件工程中的重要作用和意义。主要知识点:
(1)质量保证的概念
(2)单元测试的内容、集成测试的分类、系统测试的分类、验收测试的分类。
(3)回归测试的概念
(4)测试技术常见术语的概念:测试与质量保证、质量与可靠性、调试与测试、测试用例
(5)白盒测试、黑盒测试、静态分析各有哪些方法?
(6)逻辑覆盖与等价类划分的测试方法。
7、软件维护
重点是软件维护的分类、软件的可维护性的决定因素和软件维护技术。掌握软件维护的基本类型、软件的可维护性的决定因素;理解软件维护的基本概念、软件维护在技术上的要点、维护费用的估算、软件逆向工程的概念及主要内容。主要知识点:
(1)软件维护的基本概念
(2)理解软件维护的四个基本类型:改正性、适应性、完善性、预防性维护。哪种占比重最大?哪种最小?
(3)可维护性的决定因素
(4)软件维护过程模型、软件再工程、逆向工程的概念
(二)《数据结构与程序设计》
1、数据结构部分
(1)线性表、顺序表以及链表的定义、特点、存储结构及相关的基本算法。
(2)栈的定义、特点、顺序与链式存储表示、基本算法;栈的应用;队列的定义、特点;链队列、循环队列相关的定义、特点、基本算法;栈与递归的实现。
(3)稀疏矩阵的表示方法;特殊矩阵进行压缩的方法;数组存储表示方法和地址计算方法;广义表的定义、基本操作及存储结构。
(4)二叉树的定义、性质及存储结构;遍历二叉树定义、过程及其算法;二叉树的应用;树的定义及性质;树和森林的遍历算法;树、森林与二叉树之间的转换;哈夫曼树及其应用。
(5)图的定义、存储结构;图的遍历过程及算法;最小生成树构造过程及算法;拓扑排序过程及算法;关键路径的定义及求解方法;最短路径的求解方法。
(6)静态表查找过程及算法、动态表查找过程及算法;哈希表的构造及处理冲突方法。
(7)插入排序、快速排序、选择排序、归并排序、基数排序等内部排序的特点、过程及算法。
2、程序设计部分
(1)熟练运用常量与变量;熟练运用各种数据类型;掌握变量赋初值、各类运算符及表达式,指针定义及应用,并能够在程序设计中正确使用;字符数据的输入与输出函数、格式输入与输出函数;结构体的定义及应用。
(2)基本控制结构:顺序、选择、循环语句的应用和编程。
(3)基本的编程方法和程序设计技巧(穷举法、迭代法、递归法以及回溯法等)。
(4)模块化编程方法(函数的定义、调用,函数参数,标识符的作用域等)。
(5)结构化程序设计方法的应用等。
(6)组织数据的能力(能够根据具体的问题设计合适的数据结构和数据类型,并能求解问题)。
三、题型和分值
(一)《软件工程》
1、选择题:15-25题,15-25分
2、简答题:3-4题,15-25分
3、综合题:2-3题,20-30分
(二)《数据结构与程序设计》
1、选择题:15-25题,15-50分
2、填空题:10-15题,10-30分
3、应用题:3-6题,20-40分
4、算法设计题:1题,5-10分
四、主要参考教材
(一)《软件工程》
1、张海藩、牟永敏,《软件工程导论(第六版)》, 清华大学出版社,2013年。
(二)《数据结构与程序设计》
1、严蔚敏,《数据结构(C语言版)》,清华大学出版社,2020年。
2、谭浩强,《C程序设计》(第四版),清华大学出版社,2012年。