考研专业课大纲对备考具有重要价值。大纲可以帮助考生了解考试的整体结构和考查重点,在备考过程中起到明确方向的作用。大纲所列出的考试范围和知识要点,可以帮助考生建立知识体系,明确重难点,有针对性地进行备考。同时,弄清大纲要求可以让考生事先了解复习的时间分配和备考要求,避免在备考过程中盲目浪费时间和精力。以下是哈尔滨工业大学2024年硕士研究生招生考试《834软件工程 》考试大纲具体内容,报考该校计算机专业相关方向的考生可以根据考试大纲备考。
2024年硕士研究生入学考试大纲
考试科目名称:软件工程 考试科目代码:[834]
本考试科目考试时间180分钟,满分150分。包括:软件工程(占60分),C语言程序设计(占45分)和数据结构与算法(占45分)。
软件工程部分(60分)
一、考试要求
要求考生全面系统地掌握软件工程的基本概念、软件工程的常用过程模型、软件的生命周期、面向对象的软件分析、设计、开发和测试方法,并能灵活运用;能够利用软件工程的基本知识,为应用系统构造有效的需求、设计和测试方案;能够初步分析软件方案的合理性。
二、考试内容
1)软件工程的基本概念
a:软件工程的概念、组成部分
b:软件的生命周期、各阶段的作用、各阶段输入输出之间的关系
c:软件开发团队的基本角色构成及各自的职责
2)软件生命周期模型与软件项目管理
a:瀑布模型、增量模型、演化模型,各自的特征、过程和应用场景
b:敏捷方法与过程模型,包括用户故事、测试驱动开发、结对编程、持续集成、快速迭代/快速交付等,以极限编程XP和Scrum为代表
c:针对特定软件产品/项目的特征,选择恰当的过程模型d:软件项目管理的基本过程,软件项目规划(规模估算、成本估算、进度计划等)
e:软件风险管理的基本概念与方法
3)软件需求工程
a:需求工程的阶段划分及各自之间的关系
b:需求的分类、需求好坏的评判标准
c:面向对象的需求分析模型与方法(用例模型、领域模型、时序模型,三种分析类及其关系)
d:需求规格说明的基本构成
4)软件设计
a:软件设计的阶段划分、各自的作用、彼此之间的关系
b:软件架构的基本概念、常见的软件架构样式(数据流、主程序-子过程、层次化架构、以数据为中心的架构、基于事件的架构、模型-视图-控制器MVC)
c:面向对象语言(OOP)的基本概念(继承、多态、接口、委托等),面向对象基本设计原则(单一职责原则、里氏替换原则、依赖倒置原则等)
d:面向对象的设计方法(架构设计、类的属性/方法/状态设计、由类模型向关系数据模式的映射;部署模型)
e:统一建模语言(UML)的常用模型视图(用例图、活动图、类图、时序图、状态图、部署图、包图等)
f:面向典型非功能需求的软件设计方法(效率、并发度、可靠性、可扩展性、可复用性、安全性等)
5)软件测试与质量保证
a:软件测试的阶段划分、软件测试的类型、测试用例
b:常见的黑盒测试方法及应用(等价类划分、边界值方法等)c:常见的白盒测试方法及应用(基本路径法、循环测试等)
d:根据需求规约和程序源代码设计软件测试用例
e:代码评审与代码优化的基本方法
6)软件配置管理
a:软件演化的基本思想
b:软件维护的基本类型、基本过程
c:软件配置管理,版本控制系统的基本构成与流程
d:Git的工作原理、数据存储结构、常用指令
三、试卷结构
a)题型结构
a:选择题(16分)
b:简答题(20分)
c:应用题(24分)
b)注意事项
选择题和简答题主要考核基本概念和基本思想;应用题考核根据给定的应用场景和指定的软件工程方法进行需求分析、设计、测试的能力。
四、参考书目
1.RogersS.Pressman.SoftwareEngineering:APractitioner’sApproach(EighthEdition).(郑人杰等译,《软件工程:实践者的研究方法》(原书第8版),机械工业出版社,2016年11月)
2.郑人杰,马素霞等著.软件工程概论(第3版).机械工业出版社,2020年1月C语言程序设计部分(45分)
一、考试要求
要求考生掌握用计算机处理问题的思维方法,掌握C语言的基本语法、基本控制结构、常用的算法、问题求解方法和程序设计方法,具备综合运用所学知识独立解决与计算相关的工程技术问题的程序设计、实现和调试能力。
二、考试内容
1)问题的抽象、建模和算法描述
a:算法的基本概念
b:算法的流程图描述方法
2)基本控制结构
a:选择结构的三种控制方式(单分支、双分支、多分支)
b:循环结构的三种控制方式(计数控制、条件控制和标记控制)
c:流程转移控制的基本方法
d:基本控制结构的嵌套
3)函数和常用的问题求解方法
a:函数定义,函数调用,函数原型,函数的参数传递,防御式编程
b:分治与递归,函数的递归调用,递归函数的设计方法
c:枚举(即穷举)
d:递推(正向递推、反向逆推)
4)数组和常用的算法
a:一维数组和二维数组的定义、初始化和引用
b:一维数组、二维数组做函数参数向函数传递一维数组和二维数组
c:字符数组或字符指针做函数参数向函数传递字符串
d:常用的字符串处理操作(字符串的复制、连接、比较、计算长度,子串的插入、删除、修改、匹配等)
e:常用的排序算法(选择排序、冒泡排序、插入排序)
f:常用的查找算法(顺序查找、折半查找)
5)指针
a:指针变量的定义、初始化和解引用
b:指针变量做函数参数
c:指针数组
d:函数指针
6)结构体和共用体
a:结构体变量、结构体数组和结构体指针
b:结构体变量、结构体数组或结构体指针做函数参数向函数传递结构体
c:共用体类型
d:结构体和共用体占内存的字节数,内存对齐
e:动态内存分配函数和动态数据结构,链表(单向链表、循环链表)、堆栈、队列的基本操作
7)文件操作
a:文件的打开和关闭
b:二进制文件和文本文件
c:文件的顺序读写
三、试卷题型结构
a:程序理解题(5分)
b:程序改错题(5分)
c:程序补全题(10分)
d:程序设计题(25分)
四、参考书目
1、苏小红等编著,《程序设计基础(C语言)慕课版》,人民邮电出版社,2023年1月
2、苏小红等编著,《程序设计基础实验和学习指导(C语言)微课版》,人民邮电出版社,2023年7月
3、苏小红等编著,《C语言程序设计(第4版)》,高等教育出版社,2019年8月
4、苏小红等编著,《C语言程序设计学习指导(第4版)》,高等教育出版社,2019年9月
数据结构部分(45分)
一、考试要求
1.要求考生全面系统地掌握数据结构与算法的基本概念、数据的逻辑结构和存储结构及操作算法,并能灵活运用;能够利用数据结构和算法的基本知识,为应用问题设计有效的数据结构和算法;能够分析算法的复杂性。
2.要求能够用C/C++/Java等程序设计语言描述数据结构和算法。注:考试内容范围主要以参考书目1为标准,带*号部分不在考试范围之内。
二、考试内容
1)数据结构与算法的概念
a:数据结构与算法及其相关的基本概念
b:算法及其复杂性分析
2)线性表
a:线性结构及其操作算法
b:线性表的应用及算法
3)树与二叉树
a:二叉树的定义、性质、表示、遍历算法
b:树的表示、操作算法
c:森林与二叉树关系
d:树与二叉树的应用及算法
4)图及其相关算法
a:图的相关概念
b:图的存储结构与搜索算法
c:图的应用及算法
5)查找与排序
a:查找与排序的相关概念
b:典型算法的描述及复杂性分析
c:查找与排序算法的应用
三、试卷结构
a)题型结构
a:选择题(0—20分)
b:填空题(0-10分)
c:简答题(0—20分)
d:算法设计题(0—20分)
注:题型分数在以上范围内浮动,总分为45分b)注意事项算法设计题,必须包含算法的基本思想、存储结构设计和算法的描述
四、参考书目
1.张岩,李秀坤,刘显敏数据结构与算法(第5版),高等教育出版社,2020.2
2.严蔚敏,吴伟民,数据结构(C语言版),清华大学出版社,2002.09
原文链接:http://computing.hit.edu.cn/2023/0831/c11474a326035/page.htm