热度第 61 名
软件工程考研
工学·计算机类(学硕 0835 软件工程;专硕 0854 电子信息大类下 085405 软件工程)
61 名
热门专业综合排名(分专业报名数暂缺)
61
热门专业综合排名
4 门
初试科目(以招生简章为准)
8 所
本页收录代表院校
ABOUT / 这个专业
软件工程研究软件构建与维护的工程化方法,是计算机类下的独立一级学科。考研格局正在换轨:研招网 2026 年目录中 0835 学硕仅剩 7 个条目,主力转入 085405 软件工程专硕(0854 电子信息大类),由软件学院承载。初试为政治、英语、数学加 408 统考或自命题专业课;北航该专硕 2024 考研非全日制 634 人报考,杭师大 2023 年一志愿 681 人报考居全校第二。
专硕承载主流
研招网 2026 年目录中 0835 学硕仅剩 7 个条目,招生主力转入 085405 软件工程专硕,软件学院全日制与非全日制并行,培养偏工程实践与校企合作。
产业需求托底
软件和信息技术服务业是数字经济基础行业,工信部 2026 年 9 月印发《“人工智能+软件”专项行动实施方案》,推动产业智能化升级,研发岗位持续吸纳毕业生。
统考自命题并存
专业课 408 统考与自命题并存,2026 招生年度起吉林大学软件学院、天津大学(085400 含软件工程)等多校改考 408,真题公开,复习路径更统一。
软件学院体系成熟
2001 年起教育部、原国家计委批准 35 所高校举办国家示范性软件学院,校企合作与实训导向延续至今,产学研资源集中,在职人群另有非全日制报考通道。
EXAM / 初试考什么
初试一般为四门:思想政治理论 + 英语(一)或英语(二)+ 数学(一)或数学(二)+ 专业课(408 统考或院校自命题);同一大学不同学院、学硕与专硕的科目组合可能不同,以目标院校当年招生专业目录为准。
101 思想政治理论
全国统考,各校相同
满分 100
201 英语(一) / 204 英语(二)
全国统考;学硕与多数院校考英语(一),部分专硕按目录考英语(二),如北航软件学院软件工程专硕(2024 目录)
满分 100
301 数学(一) / 302 数学(二)
全国统考;按院校目录选定,如北航软件学院软件工程专硕考数学(二)(2024 目录),408 体系院校多为数学(一)
满分 150
专业课(408 统考或自命题)
408 计算机学科专业基础为全国统考;自命题常见软件工程基础综合、数据结构等,如北航软件学院 991 软件工程基础综合(2024 目录)
满分 150
专业课 软件工程的专业课分两类:一是 408 计算机学科专业基础统考(数据结构 45 分、计算机组成原理 45 分、操作系统 35 分、计算机网络 25 分);二是院校自命题,常见科目为软件工程基础综合、数据结构、计算机专业基础综合等,如北航软件学院 991 软件工程基础综合。统考化在推进:自 2026 招生年度起,吉林大学软件学院、天津大学 085400 电子信息(含软件工程相关专业)、南华大学软件工程(083500)、南京邮电大学(083500 等)相继改用 408;仍有大量院校保留自命题,报考前务必核对目标院校当年专业目录与考试大纲。
科目与代码以目标院校当年硕士招生简章和专业目录为准;同一专业不同院校可能差异很大。
SCORE / 近年分数线
| 年份 | 分数线 | 口径说明 |
|---|---|---|
| 2026 | A 区 264(单科 35/53);B 区 254(32/48) | 国家线·工学门类[08]·各学科专业(0835 学硕适用);0854 电子信息(含 085405)等工学专硕历年与工学同档,2026 年专硕分项以官方发布为准 |
| 2025 | A 区 260(单科 34/51);B 区 250(31/47) | 国家线·工学门类·学硕;电子信息专硕当年同档(A 区 260,单科 34/51) |
| 2024 | A 区 273(单科 37/56);B 区 263(34/51) | 国家线·工学门类·学硕;电子信息专硕当年同档(A 区 273,单科 37/56) |
| 2023 | A 区 273(单科 38/57);B 区 263(35/53) | 国家线·工学门类·学硕;电子信息专硕当年同档(A 区 273,单科 38/57) |
国家线是最低门槛,热门院校复试线通常显著高于国家线;以上为公开信息整理,以研招网与院校官方发布为准。
PRACTICE / 真题精选
共 24 题:408 统考真题 5 道(2009/2010/2012/2016 年卷,题干原文照录、年份题号标注,题干与答案均经两个独立来源核对,并逐条避让本站计算机页已收的 28 道 408 真题)+软件工程特色原创 19 道(依据张海藩《软件工程导论》、郑人杰《软件工程》通用教材体系,对应自命题软件工程基础综合科目);按数据结构与操作系统、软件工程基础与过程、需求分析与软件设计、软件测试与项目管理四个模块分节;难度分布为基础 10 题、强化 9 题、冲刺 5 题;题型为 22 道单项选择题、1 道简答题与 1 道综合应用题。
数据结构与操作系统5 题
408 统考路径的专业课主干,自命题软件工程基础综合卷亦常从数据结构与操作系统取材;本组 5 题覆盖算法复杂度、树与森林计数、链表算法设计与系统调用机理。
求整数 n(n≥0) 阶乘的算法如下,其时间复杂度是______。 int fact(int n) { if (n <= 1) return 1; return n * fact(n-1); }
- A. O(log₂n)
- B. O(n)
- C. O(nlog₂n)
- D. O(n²)
查看答案与解析
答案 B(O(n))
解析 【考点定位】本题出自数据结构「算法与算法分析」知识点,考递归调用链的时间复杂度判定,是 408 数据结构部分的开卷定位题,也是自命题软件工程基础综合卷数据结构模块的常设题型,命题形态固定为「读程序—数基本操作—对照增长量级」。 【逐项分析】递归函数 fact(n) 的执行过程是唯一分析对象:每调用一次,n 减 1,直到 n≤1 触底返回,调用链共 n 层;每层只做一次比较与一次乘法,均为常数时间操作,基本操作总数与 n 同阶,T(n)=O(n),选 B。A 项 O(log₂n) 对应「每执行一步问题规模减半」的情形,如折半查找,而本题规模每步只减 1,不成立;C 项 O(nlog₂n) 相当于给 n 层递归又配上每层对数级操作,本题每层是常数次;D 项 O(n²) 是把每层工作量误当成 O(n) 再与层数相乘的结果。判别口径只有两条:看递归层数(规模每次减 1 为线性,减半为对数),看每层操作次数(常数还是循环)。 【知识串联】复杂度分析向上连接渐进符号与常用级排序(常数、对数、线性、线性对数、平方、指数),向下连接具体算法形态:单分支递归(阶乘)为线性,无记忆的双分支递归(斐波那契)为指数级,分治递归(归并排序)得线性对数级;与链表、树遍历结合时,遍历规模就是结点数。软工考生还应把复杂度与软件质量属性中的效率挂钩:同一问题的两个算法在复杂度上的差距,正是性能测试与代码评审要度量的对象。 【易错点】把递归调用自身的栈开销误计入乘法次数;混淆「规模减半」与「规模减一」;看到函数体里出现自身调用就条件反射地选平方级,而真正的结构是调用深度而非循环嵌套。 【变式思路】变式一:改为双分支递归 fib(n)=fib(n-1)+fib(n-2),复杂度升为指数级;变式二:给单层循环套单分支递归,复杂度为平方级;变式三:给折半递归 fact(n/2),复杂度为对数级。抓住「层数×每层操作」这一乘积结构,四类问法一起覆盖。
若森林 F 有 15 条边、25 个结点,则 F 包含树的个数是______。
- A. 8
- B. 9
- C. 10
- D. 11
查看答案与解析
答案 C(10 棵)
解析 【考点定位】本题出自数据结构「树与森林」知识点,考森林中结点数、边数与树棵数三者的守恒关系,是 2016 年卷数据结构部分的代表小题,一条性质即可口算完成,自命题卷也常以同一模型出填空或选择。 【逐项分析】核心性质:n 个结点的树恰有 n-1 条边,即每棵树的结点数比边数多 1。森林是若干棵互不相交的树的集合,把每棵树的这一差额累加,得到树的棵数=总结点数-总边数=25-15=10,选 C。A 项 8 与 D 项 11 多为心算错位所致;B 项 9 是把「结点数比边数多 1」只用于其中一棵树后漏掉其余树的差额。也可从生成角度理解:25 个结点各自为孤立点时无边,每连一条边就抵消一个「多余的结点」,连掉 15 条边后仍多出 10 个连通块,即 10 棵树。 【知识串联】该性质向上连树的等价定义(连通无环图、n-1 条边的连通图、任意两点恰有一条路径),横向连森林与二叉树的转换(孩子-兄弟表示法把森林转成一棵二叉树,结点总数不变)与图的连通分量概念(无向图的极大连通子图,树的连通分量就是它自身);软工侧,组织结构、功能分解都建模在树上,结点与边的守恒关系是估算存储量与遍历成本的基础工具。 【易错点】把 25-15 误算成 25÷15 或 25-15+1;只验证一棵树成立就把整片森林的答案写成 1;忽略「森林允许零棵树」的边界情形(此时结点数为 0),它不影响本题,但常在判断题里出现。 【变式思路】变式一:反向给「森林有 10 棵树、25 个结点」问边数,答案 15;变式二:给森林转二叉树后的链域问题(n 个结点的二叉链表中空链域个数为 n+1);变式三:推广到无向图,给结点数与边数问连通分量至少几个。公式只有一条,三种问法共用。
已知一个带有表头结点的单链表,结点结构为(data, link),假设该链表只给出了头指针 list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第 k 个位置上的结点(k 为正整数)。若查找成功,算法输出该结点的 data 域的值,并返回 1;否则,只返回 0。 要求: (1)描述算法的基本设计思想。 (2)描述算法的详细实现步骤。 (3)根据设计思想和实现步骤,采用程序设计语言(C、C++ 或 Java)描述算法,关键之处请给出简要注释。
查看答案与解析
答案 答题要点:①定义指针 p、q,均从头指针 list 出发指向链表首个(数据)结点;②p 先沿链移动并计数,数到第 k 个结点后,p、q 同步后移;③当 p 移出表尾(为空)时,q 恰好指向倒数第 k 个结点,输出其 data 域的值并返回 1;④若 p 尚未数到 k 个结点就变为空,说明表长不足 k,查找失败,返回 0;⑤算法只扫描链表一遍,时间复杂度 O(n),空间复杂度 O(1)。
解析 【考点定位】本题是数据结构综合应用大题,落点在单链表上的指针操作设计,考「一趟扫描」的高效解法与分档评分意识,是 408 开考元年的算法大题标杆,自命题卷的算法设计题也沿用同样的三问结构与评分逻辑。 【得分点结构】按「思想—步骤—代码」三问给分,官方口径:一遍扫描得满分 15 分;两遍扫描(先数表长再定位)、递归解法、借助与 k 有关的辅助数组者按 10 分档封顶。满分思路是间距双指针:p、q 均从首个数据结点出发,p 先沿链走 k 步拉开间距;若 p 未走满 k 步就变为空,说明表长不足 k,返回 0;随后 p、q 同步后移,当 p 移出表尾时,q 恰指向倒数第 k 个结点,输出其 data 并返回 1。代码书写要点:结点类型定义先行;链表带有表头结点,双指针必须从首个数据结点起步,头结点不参与计数;k 越界判断要放在解引用之前,防止空指针访问。时间复杂度 O(n),空间复杂度 O(1),末尾要写明。 【知识串联】双指针是链表题的首选框架:同速双指针找中点、快慢双指针判环、等距双指针做本题,同源不同形;与顺序表对照,链表不支持按下标随机访问,只能顺序遍历,「只扫一遍」的约束正是命题人考察的效率意识。软工侧可把本题与代码评审实践衔接:空表、单结点、k 越界三类边界正是评审检查单的固定条目,也是单元测试用例设计的直接依据。 【易错点】k 大于表长时未及时返回而继续解引用空指针;从表头结点起数,多数或少算一个;不写类型定义与函数签名直接上循环体,过程分受损;三问漏答其一,即使代码正确也按缺项扣分。 【变式思路】变式一:找链表的中间结点(快指针走两步、慢指针走一步);变式二:判断单链表是否有环并进一步找入环点;变式三:把「查找倒数第 k 个」改为「删除倒数第 k 个」,需再维护一个前驱指针。框架不变,改的只是指针间距与到达后的动作。
下列选项中,操作系统提供给应用程序的接口是______。
- A. 系统调用
- B. 中断
- C. 库函数
- D. 原语
查看答案与解析
答案 A(系统调用)
解析 【考点定位】本题出自操作系统「操作系统接口与系统调用」知识点,考系统调用、中断、库函数、原语四个概念的定位辨析,是操作系统概述部分的基础概念题,也是理解应用软件如何使用操作系统服务的入口。 【逐项分析】应用程序运行在用户态,无权直接访问硬件与内核资源,必须经操作系统提供的接口请求服务,这个接口就是系统调用,如打开文件、读写数据、创建进程,选 A。B 项中断是 CPU 暂停现行程序转去处理事件的机制,由硬件与内核响应,应用程序只能被动被打断,不能主动把它当请求通道;C 项库函数由程序设计语言的函数库提供,部分库函数内部包装了系统调用,但提供者是语言环境而非操作系统;D 项原语是内核中执行时不可中断的程序段,是操作系统自身的实现手段,不面向应用程序。题眼一句话:问「谁提供给谁」——系统调用是操作系统给应用程序开的门,库函数是语言库给程序员的便利封装。 【知识串联】系统调用的执行机理连着双态切换:用户态经陷入指令进入核心态,内核完成服务后返回用户态,2012 年真题又以 read 调用为载体复考该机理(见本模块后题);库函数与系统调用的包装关系(如输出函数内部转调用写入服务)是辨析题的另一落点;原语则连接进程控制与临界区保护。软工侧,理解系统调用是理解程序依赖运行环境、部署兼容性与故障排查的地基。 【易错点】把库函数当操作系统接口(提供者搞错);把中断当成主动请求通道(方向搞反);认为原语面向应用(层次搞错)。三组错位分别对应提供者、方向、层次三个维度的混淆。 【变式思路】变式一:问库函数与系统调用的关系(前者可包装后者);变式二:问系统调用执行过程中 CPU 状态如何变化;变式三:给具体函数名判断哪些会陷入内核。辨析维度固定,换函数名与问法即可迁移。
若一个用户进程通过 read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是______。 Ⅰ. 若该文件的数据不在内存中,则该进程进入睡眠等待状态 Ⅱ. 请求 read 系统调用会导致 CPU 从用户态切换到核心态 Ⅲ. read 系统调用的参数应包含文件的名称
- A. 仅Ⅰ、Ⅱ
- B. 仅Ⅰ、Ⅲ
- C. 仅Ⅱ、Ⅲ
- D. Ⅰ、Ⅱ和Ⅲ
查看答案与解析
答案 A(仅Ⅰ、Ⅱ)
解析 【考点定位】本题出自操作系统「系统调用与文件读写」知识点,以 read 调用的完整过程为载体,合并考进程状态转换、双态切换与调用参数三个点,是需要逐条核验机理的强化题,三条叙述各占一个采分点。 【逐项分析】逐条看:Ⅰ正确——所读数据不在内存时,需经缺页处理或缓冲管理等机制把数据从磁盘调入,此间进程从运行态转入阻塞态,即叙述中的「睡眠等待」,数据就绪后才被唤醒继续执行,这正是进程等待磁盘输入输出的标准形态;Ⅱ正确——系统调用经陷入指令进入内核,CPU 由用户态切换到核心态,内核完成服务后再返回用户态,「用户态发请求、核心态做服务」是两段式路径;Ⅲ错误——文件名出现在 open(打开文件)调用的参数中,read 只使用 open 返回的文件描述符,再给出缓冲区地址与读取字节数,不需要也不接收文件名。三条中Ⅰ、Ⅱ成立,选 A。 【知识串联】本题把「打开—读写—关闭」的文件使用惯例与进程状态机串在一起:open 建立文件表项并返回描述符,read 触发磁盘等待,close 释放资源;文件描述符是用户侧引用内核资源的句柄思想,同一思想贯穿套接字与管道。软工侧可衔接资源管理类缺陷的评审要点:打开未关闭、描述符泄漏、读写未判错返回,都是代码评审与测试用例设计中的高频问题。 【易错点】认为 read 需要文件名(把 open 与 read 的参数搞混);认为进程等待磁盘时会原地忙等而不是阻塞;没把「睡眠」识别为阻塞态的口语表述,误判Ⅰ为错。 【变式思路】变式一:问写入操作是否同样涉及核心态切换(是);变式二:问「描述符已关闭仍读取」会发生什么(错误返回);变式三:给一次完整文件操作时序,标出每一步的态与数据流向。机理链固定,换操作名即可复用。
软件工程基础与过程7 题
自命题卷的核心章节;本组 7 题覆盖软件危机与工程三要素、可行性研究、生命周期模型、统一过程、能力成熟度、维护四类型与配置管理。
下列关于软件危机与软件工程的叙述中,正确的是______。
- A. 软件危机已经随着开发工具与编程语言的进步而被彻底消除
- B. 软件工程的三要素是方法、工具与过程
- C. 软件危机集中表现为软件开发成本超支,不涉及其他方面
- D. 软件工程的目标是消灭程序中的一切错误
查看答案与解析
答案 B(方法、工具与过程)
解析 【考点定位】本题出自软件工程「软件工程基本概念」知识点,考软件危机的表现与软件工程三要素的定位,是软工卷的开卷概念题,也是后续一切方法论展开的地基。 【逐项分析】A 项错在「彻底消除」:工具与语言的进步提高了生产率,但软件规模与复杂度的增长更快,成本失控、进度拖延、质量不稳、维护困难等危机表现至今存在,工程化是缓解而非根除;B 项正确——软件工程三要素为方法(完成开发各项任务的技术方法)、工具(支撑方法的软件与支撑环境)、过程(把方法与工具综合起来加以管理的活动框架),选 B;C 项以偏概全,危机的表现覆盖成本、进度、质量、维护与用户满意度多个维度;D 项夸大目标,软件工程的目标是按预算与工期交付满足质量要求的软件,并让开发过程可管理、可复用、可维护,「消灭一切错误」既不可能也不是学科的目标表述方式。 【知识串联】三要素向上支撑整个学科的知识地图:方法分层(基础方法、结构化方法、面向对象方法),工具从编译器、版本库一路发展到持续集成平台,过程从瀑布、原型到统一过程与敏捷;软件危机则是软件工程诞生的历史动因,1968 年北大西洋公约组织会议提出「软件工程」一词正源于此。把「危机表现—工程对策」配对记忆,生命周期模型、过程改进、项目管理各章都能找到对应条目。 【易错点】把三要素记成「人员、过程、技术」或「计划、编码、测试」;认为危机是历史名词、现在已经解决;把软件工程目标与测试目标混为一谈。 【变式思路】变式一:问「软件工程」一词提出的背景(应对软件危机);变式二:给若干条叙述判断哪些属于危机表现;变式三:问三要素中「过程」起什么作用(综合方法与工具的框架)。概念配对牢固,换形即可识别。
在软件生命周期中,可行性研究阶段的根本任务是______。
- A. 以尽量低的代价、在尽量短的周期内,确定问题能否解决、值不值得解决
- B. 直接编码实现系统的核心功能,用可运行程序验证技术路线
- C. 建立系统的详细算法与数据结构,形成详细设计说明书
- D. 编写需求规格说明书并组织用户评审确认
查看答案与解析
答案 A(确定问题能否解决、值不值得解决)
解析 【考点定位】本题出自软件工程「问题定义与可行性研究」知识点,考可行性研究阶段的任务定位与相邻阶段的边界划分,是生命周期题序中的基础题,设错手法集中在「阶段越界」。 【逐项分析】A 项是教材对可行性研究根本任务的标准表述:它不是解决问题,而是回答「问题能否解决、值不值得解决」,以尽量低的代价、在尽量短的周期内给出结论,为立项决策提供依据,选 A;B 项错位——验证技术路线可采用原型等手段,但「直接编码实现核心功能」已是开发阶段的事,与可行性研究低成本探索的定位相悖;C 项把详细设计提前,算法与数据结构的细化属详细设计阶段,可行性研究只建立高层的逻辑模型;D 项是需求分析阶段的收尾动作,需求规格说明书的编写与评审发生在可行性研究通过、项目立项之后。三个错误项的共同点都是把别阶段的任务搬进了可行性研究。 【知识串联】问题定义、可行性研究、需求分析构成立项前后的接力:问题定义回答「要解决什么问题」,可行性研究从技术、经济、操作(运行)等方面回答「能不能做、值不值得做」,需求分析回答「系统必须做什么」;可行性研究的常用工具是系统流程图与高层逻辑模型,产出是可行性研究报告,成本效益分析是其经济侧的核心内容。这条链与项目管理中的立项评审、项目章程可以对应起来记忆。 【易错点】把可行性研究混同于需求分析(一个定方向、一个定内容);认为可行性研究要给出详细技术方案;只答技术可行性,漏掉「值不值得」的经济维度。 【变式思路】变式一:问可行性研究通常从哪几方面展开(技术、经济、操作等);变式二:给「技术可行但成本远超预期收益」的情景问结论(不可行);变式三:问可行性研究报告的产出时机与评审主体。阶段边界记牢,四种问法同源。
下列关于统一过程(RUP)的叙述中,错误的是______。
- A. RUP 把软件生命周期划分为初始、精化、构建、移交四个阶段
- B. RUP 的显著特点是用例驱动、以体系结构为中心、迭代与增量
- C. RUP 中每个迭代周期都要经历需求、分析设计、实现与测试等工作流
- D. RUP 是一种严格的线性顺序模型,阶段一经通过便不再回访,与瀑布模型的阶段划分完全相同
查看答案与解析
答案 D(线性顺序模型的说法错误)
解析 【考点定位】本题出自软件工程「软件过程与统一过程」知识点,考 RUP 的阶段划分、三大特点与迭代本质,是过程模型族谱中的强化辨析题,错误项把迭代过程说成线性过程,属定性反转设错。 【逐项分析】A 项正确:初始阶段确定项目边界与愿景,精化阶段分析问题域并建立体系结构基线,构建阶段增量开发出产品构件,移交阶段把产品交付给用户;B 项正确:用例驱动(需求以用例表述并贯穿全程)、以体系结构为中心(体系结构是组织开发的骨架)、迭代与增量(分多轮逐步长成系统)是 RUP 的三个显著特点;C 项正确:每个迭代都是一个微型项目,都要走需求、分析设计、实现、测试等工作流,只是深度逐轮加深;D 项错误——RUP 的本质正是用迭代取代单遍线性,风险在早期迭代中优先暴露与化解,一个阶段可以跨越多个迭代,与瀑布的一次通过、文档串行完全不同,选 D。 【知识串联】过程模型族谱按「对变化的响应方式」排布:瀑布单遍线性、原型探明需求、螺旋每圈带风险分析、增量分批交付、统一过程以迭代为骨架;RUP 与敏捷都拥抱迭代,但 RUP 过程较重、角色与制品定义完备,适合大中型团队,敏捷则轻装短跑。可把 RUP 四阶段与风险曲线对应记忆:初始与精化集中消化高风险,构建与移交趋于平稳。 【易错点】把 RUP 四阶段记成瀑布式串行阶段(名称相近,本质不同);把「用例驱动」记成「文档驱动」;只记住用例,忽略体系结构的中心地位。 【变式思路】变式一:给「每轮迭代都做风险分析」的情景问对应模型(螺旋);变式二:问 RUP 与瀑布在回访机制上的差别;变式三:问「用例驱动」如何体现在各工作流中(用例从需求贯穿到测试)。族谱对照清晰,变式即查表。
某软件组织已把开发和管理工作文档化、标准化,形成组织级标准过程并在各项目中裁剪执行,新入职人员通过统一培训掌握过程规范;但该组织尚未建立对过程与产品质量的定量度量体系,过程改进仍主要依赖个人经验。按能力成熟度模型(CMM)的分级,该组织目前处于______。
- A. 初始级
- B. 可重复级
- C. 已定义级
- D. 已管理级
查看答案与解析
答案 C(已定义级)
解析 【考点定位】本题出自软件工程「软件过程改进与能力成熟度模型」知识点,考 CMM 五级的阶梯特征判定,需要把组织状态描述逐条映射到级别定义,是过程改进章节的压轴辨析题,情景题形态在自命题卷中逐年增多。 【逐项分析】CMM 把组织过程成熟度分为五级:初始级(过程无序,成功依赖个别骨干)、可重复级(建立基本项目管理,能跟踪成本与进度,重复以往项目的成功经验)、已定义级(过程文档化标准化,形成组织级标准过程并有配套培训)、已管理级(对过程与产品建立定量度量,用统计技术控制过程)、优化级(持续改进、缺陷预防、主动引入新技术)。题设组织有标准过程、有制度化执行、有统一培训,但无定量度量与统计管理——前三条落在已定义级,「无定量」恰好排除已管理级,选 C。A 项与「无序」的题设矛盾;B 项只到项目级管理,题设已升至组织级标准;D 项方向反了,那是题设尚未达到的下一级。 【知识串联】五级阶梯的记忆锚点是「每升一级多一个维度的制度化」:二级项目级管理、三级组织级标准、四级定量统计、五级持续优化;CMMI 是其集成后继,把能力成熟度思想扩展到开发、采购与服务多领域。软工侧可把 CMM 与质量管理体系标准、个人软件过程 PSP、团队软件过程 TSP 归入同一「过程质量」知识域,与产品侧的测试互补,共同构成质量全景。 【易错点】见到「有管理制度」就直接判为已管理级——该级的判定词是「定量」而非「有制度」;把可重复级的「重复」误解为过程被重复执行,实指重复以往成功经验;忽略成熟度逐级积累的约束,跳级判定。 【变式思路】变式一:给「建有定量度量与统计控制」的描述问级别(已管理级);变式二:给「项目成败靠几个骨干撑着」的描述问级别(初始级);变式三:问从已定义级升到已管理级要补什么(度量体系与统计管理)。抓「项目级—组织级—定量级—优化级」四级台阶,情景题即可对号入座。
某大型政务系统的需求在立项调研后已经完全确定,建设方要求每一阶段都形成完整文档并通过评审后才能进入下一阶段,后续需求预计基本不变。该系统开发宜采用的软件生命周期模型是______。
- A. 瀑布模型
- B. 快速原型模型
- C. 螺旋模型
- D. 敏捷开发方法
查看答案与解析
答案 A(瀑布模型)
解析 【考点定位】本题出自软件工程「软件生命周期模型」知识点,考从项目情景反推生命周期模型的能力,是过程模型章节的招牌题型:题干给条件、选项排模型,考的是各模型「驱动因素」与情景条件的对应关系。 【逐项分析】三个题设条件分别读出:需求在调研后完全确定且预计稳定、每一阶段都要形成文档并通过评审才能进入下一阶段、系统规模大建设周期长——三条同时指向阶段线性的瀑布模型,选 A。B 项快速原型模型服务于需求模糊的项目:先造一个可运行原型让用户「看着实物提需求」,需求明确后原型的使命即告结束,本题需求已定,用原型反而引入返工;C 项螺旋模型每一圈都要做风险分析,适合大型高风险项目,本题风险并非主导考量,且它不以严格的阶段文档评审为标志;D 项敏捷以小团队短迭代拥抱变化为特征,主张「可工作的软件高于详尽的文档」,与题设的文档评审要求正相反。辨析口诀:需求定走瀑布,需求糊走原型,风险高走螺旋,变化快走敏捷。 【知识串联】四模型的分野沿两个维度展开:需求确定性(瀑布假设稳定,原型与敏捷假设多变)与风险水平(螺旋显式建模风险);下游连接统一过程与增量模型(见本模块他题),上游连接软件生命周期的阶段划分(问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、维护)——各模型只是把这些阶段组织成不同的推进节奏。 【易错点】瀑布与原型配反(把「需求已定」错配给原型);把螺旋的风险驱动错记成文档驱动;认为大项目必用敏捷,忽视题设中文档评审约束的指向性。 【变式思路】变式一:给「需求不明、用户说不清要什么」问模型(原型);变式二:给「内部规模庞大、失败代价极高、每轮都要风险评估」问模型(螺旋);变式三:给「互联网产品两周上线一个版本」问方法族(敏捷)。抓驱动因素,情景反推就变成查表题。
某电商系统上线运行两年后进行了三项改动:①修复了订单金额在满减与折扣叠加时偶发计算错误的缺陷;②为适配新版手机操作系统重构了客户端适配层;③应运营要求为购物车新增「凑单推荐」功能。这三项活动对应的维护类型分别是______。
- A. 改正性维护、适应性维护、完善性维护
- B. 改正性维护、预防性维护、适应性维护
- C. 完善性维护、适应性维护、改正性维护
- D. 适应性维护、改正性维护、完善性维护
查看答案与解析
答案 A(改正性、适应性、完善性)
解析 【考点定位】本题出自软件工程「软件维护」知识点,考维护四类型的动因分类,是运行期章节的经典连线题,自命题卷几乎每年都以情景分类的形式出现,设错手法固定为类型两两互换。 【逐项分析】分类只看改动动因:①修复已暴露的订单金额计算缺陷,属改正性维护;②动因是外部环境变化(操作系统版本升级),属适应性维护;③按运营方要求扩充新功能,属完善性维护;三项依次对应 A 项,选 A。B 项把②归为预防性维护不妥:预防性维护是为提高将来的可维护性、给后续改造铺路而主动重构,不是被动适配环境变化;C 项把修缺陷当成完善性、把新增功能当成改正性,方向整体颠倒;D 项把①与②互换,修错误与适配环境两个动因边界清楚,不应混淆。再记一个定位结论帮助检查:软件维护的总工作量中,完善性维护占比居于首位,改正性与适应性次之,预防性占比很小。 【知识串联】维护四类型向上连接软件演化与再工程(逆向工程、重构、正向工程的链条),向下连接配置管理与回归测试——任何一类维护改动都要走变更控制并跑回归测试,防止改动引入新问题;与文档质量的关系也要记:文档不全的遗留系统维护成本显著更高,这正是结构化方法强调文档的回报点。 【易错点】把「适配新环境」误归预防性(被动适配不等于主动预防);把「新增功能」误归改正性;把「为将来重构旧代码」误归适应性。一律回到动因四分法:错了修是改正,环境变是适应,要更好是完善,为将来是预防。 【变式思路】变式一:给「为迎接三年后的业务量增长,提前重构数据访问层」问类型(预防性);变式二:给「监管新政要求报表口径调整」问类型(适应性);变式三:问四类维护在总工作量中的占比排序。动因四分法在手,情景怎么换都能对号入座。
下列关于软件配置管理的叙述中,正确的是______。
- A. 基线是经过正式评审和批准的配置项集合,进入基线后的变更必须经正式的变更控制流程处理
- B. 软件配置管理就是版本控制,把代码的多个副本管理好即可覆盖配置管理的全部内容
- C. 只有源代码属于配置项,需求规格说明书与测试计划等文档不必纳入配置管理
- D. 变更经批准并实施后,配置审计与配置状态报告属于可有可无的附加环节
查看答案与解析
答案 A
解析 【考点定位】本题出自软件工程「软件配置管理」知识点,考基线、配置项、变更控制与配置审计的概念定位,是过程支撑章节的核心辨析题,也是团队工程实践的必修内容,四个选项各占一个采分点。 【逐项分析】A 项正确:基线是经过正式评审和批准的某个时刻配置项的集合(如需求基线、产品基线),基线一经建立,其中的配置项要改动就必须经变更控制流程评估、审批与验证,选 A;B 项以偏概全:版本控制只是配置管理的一项活动,完整的配置管理还包括配置项标识、变更控制、配置审计与状态报告;C 项错在范围:配置项不仅包括源代码,还包括需求规格说明书、设计文档、测试计划与用例、数据、构建脚本等一切受管理的工作产品;D 项错在定位:配置审计核实变更是否按规定实施、基线是否完整一致,状态报告记录并发布配置的现实状态,二者是配置管理的固定活动而非可有可无的装饰。 【知识串联】配置管理横向连接维护(维护改动必须先走变更控制)与项目管理(基线是进度里程碑的物质载体);纵向连接现代工具链——版本库、分支策略、持续集成的每次构建都从基线化的配置取料。变更控制流程主线:提出请求→影响评估→变更控制委员会审批→实施→验证与审计→更新基线并发布状态。 【易错点】把基线当成「某个版本号的代码」(基线是配置项集合,含文档);认为文档不必入库;把配置审计当成可有可无的附加环节;变更实施后忘记更新状态记录,造成账实不符。 【变式思路】变式一:给「开发人员未经评审直接修改已基线化的需求文档」问违反了什么(变更控制);变式二:问配置项清单应包含哪些类别(代码、文档、数据、工具脚本);变式三:问基线与里程碑的关系。流程六步记熟,情景题与流程题通吃。
需求分析与软件设计6 题
从「做什么」到「怎么做」的主干链路;本组 6 题覆盖需求分析任务、数据流图、模块独立性与内聚耦合、面向对象、UML 建模与设计模式。
下列关于需求分析阶段的叙述中,错误的是______。
- A. 需求分析的核心任务是建立系统的逻辑模型,回答系统「做什么」而不是「怎么做」
- B. 数据流图与数据字典配合使用,可以从图形和文字两方面完整定义系统的逻辑模型
- C. 需求分析阶段应完成系统的模块划分,并确定每个模块内部的算法与数据结构
- D. 需求规格说明书经评审确认后,是概要设计、编码、测试与验收工作的基本依据
查看答案与解析
答案 C
解析 【考点定位】本题出自软件工程「需求分析」知识点,考需求阶段的任务边界与建模工具归属,设错手法是「阶段越界」——把设计阶段的工作提前塞进需求阶段,是需求章节的标准正误判断题。 【逐项分析】C 项错误:模块划分属概要设计,模块内部的算法与数据结构属详细设计,需求分析不回答「怎么做」的问题,选 C。A 项正确:需求分析的核心任务是建立系统的逻辑模型,以功能模型、数据模型与行为模型刻画系统「做什么」,不涉及具体实现方案;B 项正确:数据流图给出加工与数据流的图形框架,数据字典为图中每个成分给出严格定义,两者配合构成逻辑模型的完整描述;D 项正确:需求规格说明书经评审确认后,是概要设计、编码、测试与验收工作的共同基准,后续的设计追溯与验收都以它为准绳。「逻辑模型对物理实现」这条分界线一立,四个选项逐一过筛即可锁定答案。 【知识串联】「做什么 vs 怎么做」是划分需求与设计的基本判据,配套的还有工具对应表:需求阶段用数据流图、数据字典与实体联系图,概要设计用软件结构图,详细设计用程序流程图、N-S 图与伪代码;需求评审连接技术评审与管理评审两类活动。再进一步:需求的可验证性是高质量需求的标志,每条需求都应能映射到测试用例,这与本页测试模块的追溯矩阵直接呼应。 【易错点】见到「数据库」「算法」「模块」字样出现在需求描述里就误判为需求任务——任何具体实现手段的提法都属设计;把需求评审当成可有可无的手续;以为画了数据流图需求就完整了,忽略数据字典的补充作用。 【变式思路】变式一:问实体联系图属于哪个阶段(需求分析);变式二:问程序流程图属于哪个阶段(详细设计);变式三:给「系统应支持每分钟处理不少于 X 笔订单」的条目判断属性(非功能需求,仍属需求阶段)。分界线一口咬定,越界设错即现形。
下列关于数据流图(DFD)的叙述中,正确的是______。
- A. 加工可以只有输出数据流而没有输入数据流,只要输出内容正确即可
- B. 分层数据流图中,父图与子图的输入、输出数据流必须保持平衡
- C. 数据流可以从一个数据存储直接流向另一个数据存储,不必经过加工
- D. 数据流图刻画系统的物理实现细节,数据存储代表文件在磁盘上的物理布局
查看答案与解析
答案 B
解析 【考点定位】本题出自软件工程「结构化分析与数据流图」知识点,考数据流图的成分规则与分层平衡原则,是需求建模工具章节的基础规则题,画图题的评分点也全部落在这套规则上。 【逐项分析】A 项违反「加工必须既有输入又有输出」的绘图规则:只有输出没有输入的加工称为奇迹,只有输入没有输出的加工称为黑洞,都属典型绘图错误;B 项正确:分层数据流图自顶向下逐层细化,父图中某加工的子图必须与父图上该加工的输入输出数据流保持平衡(数目与方向一致,同义异名可借助数据字典辨认),这是防止细化走样的总闸,选 B;C 项错误:数据流必须源于或终于加工,两个数据存储之间不能直接相连,存储间要传递的数据必须经过加工处理;D 项错误:数据流图是逻辑模型,只描述「做什么」层面的数据加工与流动,数据存储是逻辑意义上的文件,不刻画磁盘物理布局,物理实现是设计阶段的事务。 【知识串联】数据流图的四种成分为数据流、加工、数据存储、外部实体(数据源点或终点),配数据字典完成严格定义;分层结构分顶层(把整个系统看成一个加工的基本系统模型)、中层、底层(加工足够简单无需再分解)。画图步骤是先外后内、先定加工再补数据流;与实体联系图分工:前者管功能与数据流动,后者管数据结构。 【易错点】父子图不平衡是画图题里出现频率居于前列的扣分点;把外部实体画进系统内部;一个加工既无输入又无输出;只画图不配数据字典,数据流叫什么、含哪些字段说不清。 【变式思路】变式一:给一张含黑洞加工的图找错;变式二:给父图与子图判断是否平衡;变式三:问顶层图通常画成什么形态(一个加工加外部实体与主要输入输出)。规则四条在手,看图题即查图题。
下列关于模块独立性与内聚、耦合的叙述中,正确的是______。
- A. 偶然内聚的内聚程度高于通信内聚
- B. 模块之间只通过参数交换数据,属于控制耦合
- C. 提高内聚与降低耦合相辅相成,功能内聚与数据耦合是模块设计追求的方向
- D. 一个模块直接访问另一个模块的内部数据,属于公共耦合
查看答案与解析
答案 C
解析 【考点定位】本题出自软件工程「概要设计与模块独立性」知识点,考内聚七类的强弱排序与耦合类型的判定,是设计原则章节的核心考点——模块划分质量的两把标尺全在这里,排序与配对几乎年年进入试卷。 【逐项分析】A 项排序颠倒:内聚由弱到强为偶然、逻辑、时间、过程、通信、顺序、功能,偶然内聚(模块内各成分毫无联系,只是为省事凑在一起)居于末位,通信内聚(各成分使用同一输入数据或产生同一输出)远强于它;B 项概念错位:模块之间只通过参数交换数据属于数据耦合,是耦合程度低的表现,控制耦合指传递的是控制信息(如开关标志、执行方式选择),一方在支配另一方的内部逻辑;C 项正确:高内聚低耦合是模块设计的总目标,功能内聚(模块内全部成分共同完成单一功能)的内聚性居于首位,数据耦合程度低且几乎不可避免,二者组合是理想方向,选 C;D 项定性错误:直接访问另一模块的内部数据或程序属于内容耦合,是耦合程度居于首位、必须避免的一类;公共耦合指多个模块访问同一全局数据区。 【知识串联】两个标尺合称模块独立性,是概要设计评价的定量抓手:划分模块先求功能单一(内聚),再约束接口(耦合);耦合由强到弱为内容、公共、外部、控制、标记、数据、非直接。软工侧延伸到面向对象:类的单一职责与松耦合是同一思想的对象化表达,服务拆分仍以高内聚低耦合为评价底座。 【易错点】两列排序背反(内聚越强越好、耦合越弱越好);把内容耦合与公共耦合混为一谈(动内部与共全局);把「传递开关标志」误判为数据耦合。 【变式思路】变式一:给「模块根据传入标志选择执行三种分支之一」问耦合类型(控制耦合);变式二:给「一组函数共用同一全局数组」问类型(公共耦合);变式三:问七类内聚由弱到强的完整排序。两把标尺刻度背熟,情景题即度量题。
某系统需要在运行期保证日志记录器类只有一个实例,并向系统中的其他对象提供统一的访问点。宜采用的设计模式是______。
- A. 单例(Singleton)模式
- B. 工厂方法(Factory Method)模式
- C. 观察者(Observer)模式
- D. 适配器(Adapter)模式
查看答案与解析
答案 A(单例模式)
解析 【考点定位】本题出自软件工程「面向对象设计与设计模式」知识点,考按设计意图选择模式的能力,是设计章节的进阶考点;自命题卷近年逐步引入 GoF 模式考查,多以「给意图选模式」或「判断模式类别」的形式出现。 【逐项分析】题干两个特征——确保唯一实例、提供统一访问点——正是单例模式的定义要素,典型实现是私有构造函数加静态实例与静态访问方法,并发环境下还需防止多线程重复创建,选 A。B 项工厂方法属创建型,解决「让子类决定实例化哪个类」的对象创建延迟问题,题干没有一族产品或多态创建的需求;C 项观察者属行为型,定义对象间一对多依赖,主题状态变化时自动通知全部观察者,日志场景虽可挂监听者,但它不解决唯一实例问题;D 项适配器属结构型,把一个类的接口转换成客户期望的另一种接口,用于弥合接口不兼容,与题意无关。定义要素对照加类型排除,即可锁定答案。 【知识串联】GoF 二十三种模式按目的分三类:创建型五种(单例、工厂方法、抽象工厂、建造者、原型)管对象创建,结构型七种(适配器、装饰、代理、外观、桥接、组合、享元)管接口与组合,行为型十一种(观察者、策略、命令、状态、模板方法、迭代器、职责链、备忘录、中介者、访问者、解释器)管对象交互。记忆抓手是「意图—模式名」配对:唯一实例对单例,创建延迟对工厂,一对多通知对观察者,接口转换对适配器。 【易错点】把单例的统一访问点与全局变量混同(单例可控制实例化时机并保证线程安全);以为观察者可以替代单例(通知机制不保证唯一);只记模式名不看意图,情景题对不上号。 【变式思路】变式一:给「报表导出要支持多种格式并可在运行期切换算法」问模式(策略);变式二:给「第三方库接口与系统内部接口不一致」问模式(适配器);变式三:问工厂方法与抽象工厂的差别(单一产品与产品族)。意图配对熟练,模式题就是一张可查的表。
下列关于面向对象基本概念的叙述中,错误的是______。
- A. 封装把对象的属性和操作包装为一个整体,尽可能隐蔽对象的内部细节,外界通过对外接口访问对象
- B. 继承使子类自动拥有父类的属性和操作,是支持软件复用的重要机制
- C. 多态指同一消息被不同类的对象接收后可以产生不同的行为,重载与重写是其常见的实现手段
- D. 类只是同类对象的命名集合,同一个类的不同对象其属性与操作各不相同
查看答案与解析
答案 D
解析 【考点定位】本题出自软件工程「面向对象基本概念」知识点,考封装、继承、多态与类对象关系四个概念的准确表述,是面向对象方法章节的基础正误判断题,错误项设在「类与对象一致性」的表述上。 【逐项分析】D 项割裂了类与对象的一致性:类刻画了该类全部对象共同具有的属性与操作,各个对象的差别只体现在属性取值(实例状态)上,而不是属性与操作的框架各不相同,故 D 错误,选 D。A 项正确:封装把属性与操作包装成整体并隐蔽内部细节,外界仅经对外接口访问对象,是信息隐藏原则的体现;B 项正确:继承建立类之间的一般-特殊关系,子类自动拥有父类的属性和操作并可扩充或覆盖,是面向对象支持复用的核心机制;C 项正确:多态让同一消息被不同类的对象接收后产生不同行为,重载与重写是两种常见支撑手段。做这类概念题的路径:把每句还原成「概念—关键词」配对——封装对隐藏、继承对复用、多态对同一消息不同行为,配对错位处即错误项。 【知识串联】四个概念向上汇成面向对象方法的主线:类是抽象模板、对象是运行实例;封装支撑模块独立性,继承与多态支撑可扩展性,开闭原则(对扩展开放、对修改关闭)正建立在抽象与多态之上。UML 侧的对应图像:类图中继承表现为泛化关系(空心三角箭头),接口实现用虚线三角表示,把概念与图符绑定记忆可同时覆盖面向对象与 UML 两个考点。 【易错点】把「属性取值不同」夸大成「属性与操作各不相同」;认为继承会破坏封装(子类仍受封装约束,只是复用了接口与实现);把重载与重写混为一谈(编译期签名匹配与运行期动态绑定之别)。 【变式思路】变式一:问同一个类的两个对象哪些内容可以不同(属性取值与状态);变式二:给 UML 泛化箭头问对应概念(继承);变式三:给「父类引用调用被子类重写的方法,运行时执行子类版本」问体现什么特性(多态)。概念与关键词配对牢固,换形即可识别。
下列关于 UML 图的叙述中,错误的是______。
- A. 用例图从用户(参与者)视角描述系统功能,由参与者、用例及它们之间的关系构成
- B. 状态图与活动图都属于描述系统静态结构的图,不用于刻画系统的动态行为
- C. 类图描述系统的静态结构,给出类、类的属性与操作以及类之间的关联、泛化、依赖等关系
- D. 顺序图强调对象间消息传递的时间先后次序,通信图侧重从结构组织的角度展现协作
查看答案与解析
答案 B
解析 【考点定位】本题出自软件工程「UML 建模」知识点,考各类 UML 图的用途归属与静态动态二分,是建模章节的基础分类题;错误项把行为图说成结构图,属典型的定性反转设错。 【逐项分析】B 项定性正相反:状态图刻画一个对象在外部事件作用下的状态变迁,活动图描述一个流程中各活动的执行与转移,两者都是刻画动态行为的图,不是静态结构图,故 B 错误,选 B。A 项正确:用例图由参与者、用例及其关系构成,从用户视角回答「系统为谁提供什么功能」,是需求获取与功能建模的基础图;C 项正确:类图给出类的属性、操作与类间关联、泛化、依赖等关系,是使用频度居于前列的静态结构图;D 项正确:顺序图与通信图语义等价而视角互补,前者把消息按时间轴排开,后者强调对象间的链接结构组织。判别抓手一句话:结构图画「系统里有什么」,行为图画「系统怎么动」。 【知识串联】静态结构图记住类图、对象图、构件图、部署图,行为图记住顺序图、通信图、状态图、活动图;用例图从参与者视角刻画系统功能边界,与类图共同构成建模的双入口。顺序图与通信图常互换着考「视角之别」;状态图与活动图之别在描述主体——单个对象的生命周期与跨对象的流程;统一过程的「用例驱动」正是从用例出发拉通顺序图与状态图。 【易错点】顺序图与通信图的分工记反(时间序与结构组织);状态图与活动图的主体混淆(单对象与跨对象流程);把行为图误归入结构图,或反之。 【变式思路】变式一:给「描述用户登录过程的状态变迁」问选图(状态图);变式二:给「描述跨部门审批流程」问选图(活动图);变式三:问「强调消息时间顺序」与「强调对象结构组织」分别对应哪两张图。二分法加主体维度,选图题即排除题。
软件测试与项目管理6 题
质量保障与工程管理两章合编;本组 6 题覆盖黑白盒依据、环形复杂度与基本路径、集成测试组装策略、等价类划分、关键路径进度与敏捷 DevOps。
下列关于软件测试的叙述中,正确的是______。
- A. 黑盒测试根据程序内部逻辑结构设计测试用例,白盒测试依据需求规格说明设计测试用例
- B. 白盒测试的逻辑覆盖中,满足条件覆盖不一定满足判定覆盖
- C. 单元测试通常由用户执行,集成测试只能采用自底向上的组装策略
- D. 软件测试的目的是证明程序正确无误,全部用例通过后即可保证软件没有缺陷
查看答案与解析
答案 B
解析 【考点定位】本题出自软件工程「软件测试基础」知识点,考黑白盒两种方法的依据之别、覆盖标准强弱、测试组织与测试目的四组概念,是测试章节的总纲型正误判断题,四个选项各占一个采分点,也都可独立成题。 【逐项分析】A 项把两种方法的依据说反:黑盒测试把程序当成看不见内部结构的黑箱,依据需求规格说明检查功能与接口,不看代码;白盒测试恰恰要依据程序内部的逻辑结构设计用例。B 项正确,选 B:条件覆盖只要求每个条件的各种取值都至少出现一次,这些取值的组合未必能把每个判定的真假两个分支都执行到,因此满足条件覆盖不一定满足判定覆盖,工程实践中常改用判定/条件覆盖、条件组合覆盖来补这个缺口。C 项两处皆错:单元测试通常由开发人员自己完成,集成测试既有自底向上也有自顶向下、三明治等组装策略,不存在「只能」;D 项违背测试的基本观念:测试是尽可能多地发现错误的过程,用例全部通过只能说明已知用例未暴露缺陷,不能证明程序无错——测试只能证明错误存在,不能证明错误不存在。 【知识串联】黑白盒的完整工具箱:黑盒有等价类划分、边界值分析、错误推测与因果图,白盒有逻辑覆盖族与基本路径测试;覆盖强弱链(语句、判定、判定/条件、条件组合逐级增强)与环形复杂度一起构成白盒的定量骨架(见本模块后题);测试与调试之别也要记:测试发现错误的存在,调试定位并改正错误的根源,二者目的不同。 【易错点】黑白盒依据互换是出现频率居于前列的陷阱;想当然认为「条件覆盖必满足判定覆盖」;把测试目的说成证明程序正确;单元测试与集成测试的执行者和策略记混。 【变式思路】变式一:给具体条件取值组合问达到的覆盖级别;变式二:问「自顶向下集成需要什么支撑模块」(桩模块);变式三:问测试与调试的目的之别。四组概念各自成题,判断题与情景题都从这四点取材。
某程序控制流图共有 12 个结点、15 条边(程序为单连通)。该控制流图的环形复杂度 V(G),以及据此进行基本路径测试时应选取的独立路径条数分别是______。
- A. 3 与 3
- B. 5 与 5
- C. 5 与 6
- D. 7 与 7
查看答案与解析
答案 B(5 与 5)
解析 【考点定位】本题出自软件工程「白盒测试与基本路径测试」知识点,考环形复杂度(McCabe 度量)的计算及其与独立路径条数的对应关系,是测试章节的压轴计算题,一步公式、三重含义。 【逐项分析】环形复杂度公式为 V(G)=E-N+2P,E 为边数、N 为结点数、P 为连通分量数,单连通程序 P=1,代入得 V(G)=15-12+2=5。V(G) 的三重含义:其一等于控制流图中封闭区域数加 1(本题即 4 个封闭区域加外围 1 个区域);其二给出线性独立路径的规模——程序中至少存在 5 条互不线性相关的路径;其三即基本路径测试的设计基准——选取 5 条独立路径,每条配一个用例,即可实现语句与分支意义上的覆盖,故独立路径条数取 5,选 B。A 项 3 漏加了常数 2;C 项把独立路径条数比 V(G) 多算一条;D 项 7 属于把结点数、边数代错位置的结果。三个口径同值,既是本题的答案也是这一知识点的记忆锚。 【知识串联】McCabe 度量把图论与测试连接起来:独立路径指至少引入一条从未走过的新边的路径,不能由已选路径线性组合导出;V(G) 越大程序越复杂,经验上 V(G) 超过 10 的模块就应考虑拆分——这又接回高内聚低耦合的设计评价。基本路径测试的完整步骤:画控制流图→算 V(G)→确定独立路径集合→为每条路径设计用例→必要时补充对数据敏感的用例。 【易错点】忘记加 2(得 3);把 P 当成 0(公式退化为 E-N);把独立路径条数理解成全部路径数(那是指数级);复合条件未拆分成基本条件就画控制流图,边数直接算错。 【变式思路】变式一:给代码段画控制流图再算 V(G);变式二:给封闭区域数问 V(G)(区域数加 1);变式三:问 V(G)=8 的模块至少设计几个基本路径用例(8)。公式与三重含义背熟,数字怎么换都是一步代入。
下列关于集成测试组装策略的叙述中,正确的是______。
- A. 自顶向下集成不需要编写桩模块,只需要编写驱动模块
- B. 自底向上集成不需要编写驱动模块,只需要编写桩模块
- C. 三明治策略同时包含自顶向下与自底向上两种组装,既用到桩模块也用到驱动模块
- D. 集成测试必须等全部单元测试结束后一次性组装,不能边测单元边集成
查看答案与解析
答案 C
解析 【考点定位】本题出自软件工程「集成测试」知识点,考自顶向下、自底向上与三明治三种组装策略的机制差别及桩模块、驱动模块的用途归属,是测试组织章节的核心辨析题,「上桩下驱」四个字是全部答案。 【逐项分析】A 项说反:自顶向下集成从主控模块开始沿控制层次向下组装,下层被调用但尚未实现的模块用桩模块代替,桩模拟下层模块的接口与返回,需要编写的是桩而非驱动;B 项同样说反:自底向上集成从底层模块开始向上组装,上层调用方尚未就位,需要编写驱动模块来模拟上层调用,需要的是驱动而非桩;C 项正确:三明治(混合)策略对上层用自顶向下、对下层用自底向上,在中间某层会合,两类支撑模块都要用,选 C;D 项绝对化:增量式集成本来就可以与单元测试部分并行,逐个或逐簇接入已测模块;非增量式的一次性组装(大爆炸)反而难定位故障。记忆口诀:从上往下集成补桩,从下往上集成补驱。 【知识串联】桩与驱动的区别延伸到脚手架思想:桩模块站在被测模块的下层接口处,驱动模块站在上层入口处,都是为孤立被测对象而造的临时建筑;策略选择连接进度与风险:自顶向下早验主控与接口、但桩多且底层功能晚验,自底向上早验核心算法、但主控晚验,三明治折中。与持续集成对照:现代工具链用自动化构建与冒烟测试把「边集成边验证」制度化为每日多次。 【易错点】桩与驱动的位置记反(分不清高层用桩还是低层用桩);认为集成必须严格串行在单元测试之后;把三明治理解成先全部自底再全部自顶的串接,而非分层并行会合。 【变式思路】变式一:给「先测完数据库访问层,再逐层向上接入」问策略与所需支撑模块(自底向上,驱动);变式二:问一次性(大爆炸)集成的主要缺点(故障定位困难);变式三:给「既要早验菜单框架又要早验核心算法」问策略(三明治)。上桩下驱记牢,三类题同解。
某在线报名系统对输入数据的约束如下: (1)「年龄」域:接受 18-60 周岁(含边界)的整数; (2)「证件类型」域:只接受「身份证」与「护照」两类取值,不允许为空。 请用等价类划分法: (1)分别建立「年龄」域与「证件类型」域的有效等价类与无效等价类; (2)给出设计测试用例时应遵循的两条覆盖原则,并各举一个覆盖无效等价类的用例示例(说明覆盖目标即可,不必给出完整输入数据)。
查看答案与解析
答案 答题要点:(1)年龄域——有效等价类:18-60 之间的整数(边界 18 与 60 属有效);无效等价类:小于 18 的数、大于 60 的数、带小数的非整数、非数字字符(字母、空串等)。证件类型域——有效等价类:「身份证」「护照」;无效等价类:空值、其他任意取值。(2)原则一:设计一个新用例时使其尽可能多地覆盖尚未覆盖的有效等价类,例如「年龄 30+证件类型身份证」一个用例同时覆盖两个域的有效类;原则二:每一个无效等价类单独设计一个用例,且每个用例只覆盖一个无效等价类,防止屏蔽,例如「年龄 12,其余输入取有效值」单独覆盖「小于 18」类,「证件类型为空,其余输入取有效值」单独覆盖「证件为空」类。
解析 【考点定位】本题出自软件工程「黑盒测试与等价类划分」知识点,考等价类表的建立与用例覆盖原则,是黑盒方法的主观题标准形态,自命题卷常以设计题出现,采分点落在「分类完备」与「覆盖原则」两处。 【得分点结构】采分点一(约半数分数):等价类表。年龄域按「数值范围+数据类型」两个维度切分:有效类一个(18-60 的整数,边界 18 与 60 计入有效);无效类至少四类(小于 18、大于 60、带小数的非整数、非数字字符),若再答出空输入可加分。证件类型域按「枚举取值」切分:有效两类(身份证、护照),无效两类(空值、其他取值)。采分点二:两条覆盖原则——有效等价类尽量合并覆盖(一个用例同时盖住多个有效等价类),无效等价类逐个单独覆盖(一个用例只含一个无效条件),理由是一个用例若同时输入两个无效条件,前一个校验拦截后另一个缺陷可能被屏蔽而漏测。采分点三:用例示例与覆盖目标对应写清即可,不要求完整输入数据。 【知识串联】等价类划分的假设是同一等价类中的输入被程序同等处理,测一即可代表全部,它解决输入空间太大的问题,但对边界不敏感,故与边界值分析固定搭配:对 18-60 这类范围,补 17、18、60、61 四个边界点;错误推测法凭经验补充易错场景作第三层。三者共同构成黑盒用例设计的三板斧,与白盒的覆盖族互补,主观题常要求组合运用。 【易错点】无效等价类漏项(只写小于 18,漏掉非整数与非数字);把 18 与 60 误归入无效类;一个用例同时塞两个无效条件,违反单一无效原则;只给用例不注明覆盖目标,丢过程分。 【变式思路】变式一:给「用户名 6-20 位字母数字组合」做同样的等价类表并补边界值;变式二:问为什么无效等价类要单独覆盖(屏蔽效应);变式三:给三角形分类问题设计等价类表(经典题)。一张表加两条原则,黑盒设计题的骨架即成。
某软件项目的活动计划如下表(AOE 网,工期单位为天): 活动|前驱活动|工期 A|—|3 B|—|2 C|A|4 D|B|6 E|C、D|2 从项目启动到全部活动完成,该项目的总工期与关键路径分别是______。
- A. 总工期 9 天,关键路径 A→C→E
- B. 总工期 10 天,关键路径 B→D→E
- C. 总工期 10 天,关键路径 A→C→E
- D. 总工期 11 天,关键路径 B→D→E
查看答案与解析
答案 B(总工期 10 天,关键路径 B→D→E)
解析 【考点定位】本题出自软件工程「项目进度管理与关键路径法」知识点,考 AOE 网上的路径枚举、总工期判定与关键路径识别,是项目管理章节的标准计算题,规范动作是枚举全部路径逐条求和。 【逐项分析】从启动到完成只有两条完整路径:A→C→E 历时 3+4+2=9 天;B→D→E 历时 2+6+2=10 天。全部活动完成必须等耗时居于首位的路径走完,故总工期 10 天,关键路径为 B→D→E,选 B。A 项总工期与路径取值自相矛盾(9 天取自另一条路径);C 项总工期对但路径认错——若 A→C→E 是关键路径,总工期应是 9 而非 10;D 项路径对但工期多算一天。判断流程:先枚举全部从起点到终点的路径,再逐条求和,合计居于首位者即关键路径,其长度即总工期。 【知识串联】关键路径上的活动是关键活动,任一关键活动拖延一天,总工期就顺延一天;非关键活动的工期有余量,压缩非关键活动不能缩短总工期,压缩关键活动才有效,且当网络中出现多条并列的关键路径时,必须同时压缩才能整体提前。大型网络的规范算法用事件结点的最早发生时间(从源点向汇点正向推、取大)与最迟发生时间(从汇点向源点反向推、取小)之差求松驰量,松驰量为零的活动串成关键路径;与甘特图对照:甘特图直观排日程,关键路径法定量找瓶颈,两者配合使用。 【易错点】路径漏枚举(漏掉 B→D→E 一条则全错);把「活动条数居多的路径」当成关键路径;压缩分析时只压一条关键路径而网络里已出现新的并列关键路径;工期求和算错一天。 【变式思路】变式一:加问「哪些活动可以推迟一天而不影响总工期」(非关键路径上余量足够的活动);变式二:把 D 的工期压缩到 4 天重算,两条路径变为 9 与 8 天,总工期 9 天,关键路径换为 A→C→E;变式三:给事件结点网络,按最早、最迟发生时间找松驰量为零的活动。枚举求和取首位的流程不变,问法向上叠即可。
下列关于敏捷开发与 DevOps 的叙述中,错误的是______。
- A. Scrum 以固定长度的冲刺(迭代)组织开发,每个冲刺结束时交付一个可用的产品增量
- B. DevOps 强调开发与运维的协作与融合,依托持续集成、持续交付实现高频可靠的发布
- C. 敏捷宣言推崇个体与互动、可工作的软件、客户合作与响应变化
- D. 每日站会是团队成员向项目经理汇报个人工作量的考核会议,发言要覆盖全部技术细节
查看答案与解析
答案 D
解析 【考点定位】本题出自软件工程「敏捷软件开发与 DevOps」知识点,考 Scrum 框架的事件与角色、DevOps 的工程内涵与敏捷价值观,是新技术章节的综合性辨析题;错误项设在站会性质的常见误解上,四个选项各占一块知识。 【逐项分析】A 项正确:冲刺是固定时长(通常两到四周)的迭代,冲刺目标指向一个可用增量,结束时在冲刺评审中向干系人演示;B 项正确:DevOps 打通开发与运维之间的组织墙,以持续集成(频繁合码、自动构建与自动回归)和持续交付(发布流水线自动化、随时可发布)为工程底座,实现高频可靠的发布;C 项正确:敏捷宣言四组价值观为个体和互动高于流程和工具、可工作的软件高于详尽的文档、客户合作高于合同谈判、响应变化高于遵循计划;D 项错误:每日站会是开发团队的自组织同步会议,时长约十五分钟,每人讲清三件事——昨天做了什么、今天打算做什么、遇到什么障碍,只暴露障碍不在会上展开解决,更不是向管理者的述职考核,选 D。 【知识串联】Scrum 的三个角色(产品负责人管理产品待办列表与优先级、Scrum Master 作为服务型领导消除障碍、开发团队自组织跨职能)、三个制品(产品待办列表、冲刺待办列表、增量)与五个事件构成完整框架;敏捷回答「怎么开发」,DevOps 回答「怎么交付与运维」,两者接力形成从需求到上线反馈的闭环,并与配置管理、自动化测试天然咬合——这正是新技术考点与传统章节的连接处。 【易错点】把站会当汇报会或问题解决会(它是同步与暴露障碍的短会);把「可工作的软件高于详尽的文档」误解为敏捷不要文档(必要文档仍要,只是不追求面面俱到的形式文档);认为 DevOps 只是一套运维工具,忽视组织协作与文化维度。 【变式思路】变式一:问产品负责人的核心职责(管理并排序产品待办列表);变式二:给「发布周期从季度缩短到周、缺陷逃逸率下降」的描述问支撑实践(持续集成与持续交付);变式三:问敏捷宣言四组价值观中的任意一组配对。角色、事件、价值观三张清单记熟,新技术题即清单题。
题目与解析为公开真题整理或依据考试大纲原创,仅供备考参考;完整题库与逐题练习见对应科目产品。
CAREER / 毕业去哪儿
跨考提示 软件工程是跨考热门方向,计算机、软件、数学、自动化、通信等背景跨入常见,门槛主要在数学与专业课;选 408 统考院校可依托公开真题自学搭框架,自命题院校则要尽早锁定目标补指定科目;不少院校复试含编程机试,跨考前建议查看目标院校复试细则并提前练上机;在职考生可关注软件学院非全日制方向。
SCHOOLS / 代表院校
北京航空航天大学
软件学院全日制与非全日制并行,2024 考研软件工程专硕全日制报录比约 12.2:1(同校计算机科学与技术学硕约 7.5:1)
华东师范大学
设独立软件工程学院,0835 软件工程学硕在招,学硕专硕并行培养
南京大学
软件学院承担软件工程培养,0835 学硕在招
复旦大学
国家示范性软件学院之一,软件工程专业 2003 年创设、由软件学院负责建设
四川大学
国家示范性软件学院之一(2001 年 12 月成立),计算机学院(软件学院)建制
天津大学
智能与计算学部 085400 电子信息(含软件工程相关专业)自 2026 年起专业课改用 408 统考
哈尔滨工业大学
软件学院前身为 2000 年 12 月成立的软件与网络技术学院,0835 学硕在招
东北大学
软件学院承担应用型软件人才培养,0835 软件工程学硕在招
仅为该专业常见报考院校举例,无排名含义;择校请结合学科评估、报录比与个人情况。
PLAN / 备考路线
基础阶段
3 月-6 月数学打底,专业课教材过一轮
数学按高等数学、线性代数、概率论顺序过基础课程并配套基础题;英语坚持背单词、精读真题阅读;确定目标院校后确认考 408 还是自命题,把数据结构等指定教材通读一遍并整理知识框架。
强化阶段
7 月-8 月数学强化 + 专业课进阶
暑期集中刷强化题、做专题笔记;408 考生逐门梳理重难点并练手写算法,自命题考生按目标院校大纲补软件工程导论、数据库等科目;英语开始分项训练。
真题阶段
9 月-10 月真题成套训练,政治启动
数学与专业课做目标院校真题及同层次院校试题,错题归类复盘;政治开始一轮复习并配套练习;逐年核对目标院校招生简章与专业目录,确认是否改考 408 或调整科目。
冲刺阶段
11 月-12 月限时模拟与机试准备
全科进入限时模拟,政治背诵分析题与高频考点;专业课回归真题与错题本;不少院校复试含编程机试,可提前练上机;按研招网通知完成网上确认、打印准考证等事项。
FAQ / 常见问题
0835 学硕和 085405 专硕有什么区别?
0835 软件工程是学硕一级学科,偏理论研究,但在 2026 年硕士专业目录中仅剩 7 个目录条目,招生单位已收缩至少数高校;085405 软件工程是 0854 电子信息大类下的专硕领域,由软件学院承载、招生规模大,培养偏工程实践。两者均走工学国家线,读博意向强可关注学硕,就业导向可优先专硕。
软件工程考研考数学几、英语几?
数学(一)与数学(二)、英语(一)与英语(二)均有院校采用,以目标院校当年专业目录为准,例如北航软件学院软件工程专硕按 2024 目录考数学(二)与英语(二)。数学是本专业拉开差距的科目,建议尽早启动并保持连续训练。
专业课考 408 还是自命题?
两者并存。408 计算机学科专业基础为全国统考,含数据结构、计算机组成原理、操作系统、计算机网络四部分;自命题科目各校不同,如北航软件学院 991 软件工程基础综合。自 2026 招生年度起,吉林大学软件学院、天津大学、南华大学、南京邮电大学等院校的软件工程相关专业陆续改用 408,报考前务必核对当年目录。
可以跨考吗?
可以,软件工程是跨考热门方向。相近的计算机、软件、数学、自动化、通信背景跨入常见,数理与编程基础可以直接复用;文科或经管背景跨入则需要更早补数学与数据结构。不少院校复试含编程机试,跨考前建议查看目标院校复试细则并提前练上机。
分数线高吗?
国家线按工学门类划定,近年 A 区在 260-273 分区间,专硕历年与工学同档;但热门院校复试线与报录比通常显著高于国家线,如北航软件学院软件工程专硕 2024 考研全日制报录比约 12.2:1,具体以目标院校研究生院发布为准。
毕业后就业方向有哪些?
以软件研发类岗位为主:互联网与软件企业研发、软件测试与质量保障、系统与云计算开发运维、金融与电信行业 IT、制造业与汽车智能化软件、基础软件与数据库开发、软件项目管理等;国企与事业单位信息技术岗也持续招录,另有一部分毕业生继续攻读博士。具体去向与读研期间的方向选择、项目实习经历关系很大。
和计算机科学与技术考研有什么区别?
计算机科学与技术(0812)覆盖面更宽,体系结构、理论、人工智能皆有,408 统考是主流路径(可参考本站计算机科目页);软件工程聚焦软件生命周期与工程化方法,考研主口径已是 0854 大类下的 085405 专硕,由软件学院承载,校企合作与非全日制项目更多,产业就业导向更强。两者初试科目结构相近,数理与 408 基础可以复用。
CONTACT / 咨询
软件工程分科目资料整理中;若目标院校专业课为 408 统考,土豆考研 408 软件已上线(题库、背诵卡与真题训练),可到计算机科学与技术科目页了解;自命题科目、择校与跨考规划等问题,可加微信咨询。
加微信 sanmao-ai 咨询考情与资料
MORE / 其他热门专业
数据来源:研招网硕士专业目录在线查询(2026 目录:0835 软件工程学硕仅剩 7 个目录条目,主流招生并入 0854 电子信息大类 085405 专硕) https://yz.chsi.com.cn/zsml/;CSDN 计算机与软件考研专栏·北航 2024 考研计算机类各专业报考人数与报录比统计(转引北航官方微信:软件学院软件工程专硕全日制报录比约 12.2:1、非全日制 634 人报考;含 2024 招生目录科目) https://blog.csdn.net/csseky/article/details/134131521;中公教育网转杭州师范大学《2023 年硕士研究生一志愿报考人数分布统计表》(085405 软件工程 681 人,仅次小学教育 1496 人居全校第二) https://www.offcn.com/kaoyan/2023/0220/248867.html;新东方网《软件工程硕士研究生计划招生数据》(2025-05-30:25 考研全国 150 个招生单位、计划招生 2190 人) https://kaoyan.xdf.cn/202505/14438256.html;研招网《近五年考研分数线及趋势图》专题(工学 A 区 2022-2026 总分 273/273/273/260/264 及历年单科,B 区 263/263/263/250/254) https://yz.chsi.com.cn/kyzx/zt/lnfsx2026.shtml;大学生必备网《历年电子信息考研国家线汇总(2020-2025 年)》(0854 电子信息专硕历年与工学门类同档) https://www.dxsbb.com/news/111623.html;网易订阅·考研帮《关于 2026 考研初试科目调整通知》(吉林大学软件学院、天津大学 085400、南华大学 083500、南京邮电大学 083500 等改考 408) https://www.163.com/dy/article/JRJL74SU0516BKJI.html;四川大学软件学院官网·学院概况(国家示范性软件学院系教育部、原国家计委批准的 35 所之一,2001 年 12 月成立) https://sw.scu.edu.cn;复旦大学软件学院官网(国家示范性软件学院,软件工程专业 2003 年创设) https://software.fudan.edu.cn;哈尔滨工业大学软件学院官网·发展历程(2000 年 12 月软件与网络技术学院成立,后更名国家示范性软件学院) https://software.hit.edu.cn;学而思考研帮专业库·软件工程(083500)开设院校列表(在招院校收缩至少数高校) https://www.kaoyan.com/major/detail?id=10083500;工业和信息化部信息技术发展司《七问+一图,读懂〈“人工智能+软件”专项行动实施方案〉》(2026-09-11,工信部信发〔2026〕209 号) https://wap.miit.gov.cn/jgsj/xxjsfzs/gzdt/art/2026/art_45df9463e105446c996568f299e07bca.html。报名人数为第三方机构 估算口径,非教育部官方发布;分数线与科目信息以研招网及各院校官方发布为准。