2024年《软件质量与管理》期末试题 解答与解析¶
试题来源:2024 Spring 学期期末考试回忆版(qhz 整理,期末 91 分)。
"今年 rgp 真的我哭死!大部分都是往年题,看 eagle 就行了,不过 eagle 有些题目是不太对的,最好是对应到课程 PPT 当中,有些答案隐藏在 PPT 的备注里面。"
一、名词解释(8 分,每题 2 分)¶
1. 配置管理中的配置项(Configuration Item)¶
点击查看答案与解析
解答:
配置项(Configuration Item,CI)是需要纳入配置管理的工作产品。典型的配置项包括源代码、文档(需求规格说明、设计文档、用户手册)、测试用例、构建脚本、配置文件等。配置项是配置管理的最小管理单元,所有被纳入配置管理的产物都必须进行版本控制和变更管理。
知识点出处:
software-quality-management.第7讲.pdf—— 配置管理。易错提示:不是所有文件都是配置项,只有被正式纳入配置管理的工作产品才称为配置项。
2. 配置管理中的基线(Baseline)¶
点击查看答案与解析
解答:
基线(Baseline)是在某一时刻经过正式评审和批准的一组配置项版本。基线标志着一个重要的里程碑节点,此后对配置项的变更必须遵循正式的变更控制流程。
基线的作用包括:
- 冻结阶段性成果:为后续工作提供稳定的基础
- 支持变更控制:基线之后的任何变更都必须经过评审和批准
- 可追溯性:可以随时回退到基线版本
典型基线包括:需求基线、设计基线、代码基线、发布基线。
知识点出处:
software-quality-management.第7讲.pdf—— 配置管理中的基线概念。题目来源:本题 2013 年曾以简答题形式考查。
3. 关键子过程性能基线(Key Sub-process Performance Baseline)¶
点击查看答案与解析
解答:
关键子过程性能基线(Process Performance Baseline,PPB)是 CMMI 高成熟度等级(四级定量管理)的核心概念。它是指基于历史数据建立的关键子过程性能的统计分布(如均值、范围、标准差等)。
- 作用:作为判断子过程是否稳定的参照标准
- 建立方式:从组织的历史过程数据中计算关键子过程的性能分布
- 使用方式:在项目中收集实时数据,通过控制图(Control Chart)对比性能基线,判断过程是否处于统计受控状态
- 层级关系:关键子过程性能基线 → 关键子过程性能目标 → 整体过程性能目标
知识点出处:
software-quality-management.第7讲.pdf—— CMMI 四级定量管理(统计过程控制)。
4. 软件过程(Software Process)¶
点击查看答案与解析
解答:
软件过程是为了实现一个或多个事先定义目标而建立的一组实践的集合,这组实践之间往往有一定的先后顺序,作为一个整体来实现一个或多个事先定义的目标。
- 广义软件过程 = 技术 + 人员 + 狭义过程
- 同义词:软件开发方法、软件开发过程(如:净室 Cleanroom、极限编程 XP、SCRUM、Gate 方法)
- 软件过程管理的目的:让软件过程在开发效率、质量等方面有着更好性能绩效
软件过程 vs 生命周期模型:
| 生命周期模型 | 软件过程 | |
|---|---|---|
| 定义 | 对软件过程的一种人为划分 | 一组有先后顺序的实践的集合 |
| 粒度 | 粗粒度的框架 | 细粒度的具体实践 |
| 是否包含技术实践 | 通常不包含 | 包含 |
知识点出处:
software-quality-management.第2讲.pdf—— 软件过程定义;software-quality-management.第7讲.pdf—— 软件过程管理。
二、简答题¶
1. 结合"软件开发作为一种知识工作,需要领导者而不是一般的经理",阐述知识工作领导者应该具备的品质或者特点(至少三项)¶
已考:【2022Fall】【2024Spring】
提示:eagle 的博客上这道题有些问题;正确答案在 PPT 团队动力学当中。以下四个品质是固定的。
点击查看答案与解析
解答:
软件开发是一项既复杂又富有创造性的知识工作。开发者是智力劳动者,管理的第一准则就是智力劳动者不能被管理,只能实现自我管理。因此需要领导者而非一般经理。
知识工作领导者应具备的四个品质(PPT 团队动力学原文):
- 诚实(Honest):领导者应该信守承诺,言行一致,让团队成员感到信任和尊重。领导者的诚信是团队信任的基础。
- 能力(Competent):领导者必须展现出卓越的能力和广泛的知识。知识工作团队的领导者需要让团队成员信服其专业判断。
- 远见(Visionary):知识工作者倾向于寻求发展和创新。领导者需要能够超越眼前的挑战和任务,具备明确和可信的未来愿景。这种远见不仅包括对技术和行业趋势的理解,还包括对组织发展方向的清晰认识。
- 激励(Inspirational):优秀的知识工作者领导者应该能够激励团队,传播积极、充满热情和能量的未来愿景。
其他可补充的品质:善于倾听、善于通过询问诱导正确方向、善于通过挑战目标吸引成员努力、善于促成一致意见、培养团队成员技能、鼓励合理授权。
知识点出处:
software-quality-management.第3讲.pdf—— 团队动力学(知识工作领导品质 PPT 原文)。题目来源:本题在 2022Fall、2024Spring 均以简答题形式出现。
2. 我们如何理解瀑布模型(6 分)¶
已考:【2021Fall】【2020-mid】【2024Spring】
点击查看答案与解析
解答:
- 瀑布模型不是单一模型,而是一系列模型,覆盖最简单场景(过程元素少)到最复杂场景(过程元素多)。
- 软件项目应该结合实际情况选择合适过程元素的瀑布模型。基本原则是:项目面临困难和挑战越多,选择的模型应该越复杂。
- 软件项目团队往往低估项目的挑战,选择了过于简单的不适用的瀑布模型。这是瀑布模型在实践中失败的最常见原因。
知识点出处:
software-quality-management.第2讲.pdf。题目来源:本题在 2020-mid(6 分简答)、2021Fall(6 分简答)、2024Spring 均以简答题形式出现。
3. 请完整描述敏捷宣言的内容。我们应该如何正确理解敏捷宣言?(10 分)¶
点击查看答案与解析
解答:
敏捷宣言四条核心价值观:
- 个体和互动 胜过 流程和工具
- 可以工作的软件 胜过 详尽的文档
- 客户合作 胜过 合同谈判
- 响应变化 胜过 遵循计划
也就是说,尽管右项有其价值,我们更重视左项的价值。
如何正确理解敏捷宣言:
- 不是否定右项:敏捷宣言并不否定流程和工具、文档、合同谈判、计划的价值,而是强调左项具有更高的优先级。
- "胜过"而非"替代":关键词是"胜过"(over),而非"替代"。敏捷团队仍然需要流程、文档、合同和计划。
- 价值观导向:敏捷宣言是价值观层面的宣言,不是具体的操作方法。它指导团队在各种决策中做出符合敏捷精神的选择。
- 实践服务于价值观:具体的敏捷实践(如 Scrum、XP 等)都是为了实现这些价值观而设计的,不应本末倒置地将实践本身当作目标。
- 与规范方法的关系:计划驱动的开发人员必须敏捷,敏捷开发人员必须规范。敏捷和规范不是对立的两极,而是软件开发中需要平衡的两个维度。
知识点出处:
software-quality-management.第2讲.pdf、assets/slides/8敏捷概述.pdf。题目来源:本题在 2020-mid、2022Fall、2023、2024Spring 均以简答题形式出现。
4. 挣值管理的三种实现方式(简单、中级、高级)¶
点击查看答案与解析
解答:
| 实现方式 | 涉及指标 | 核心内容 |
|---|---|---|
| 简单实现 | EV(挣值) | 仅关注进度信息。建立 WBS 定义工作范围 → 为每项工作定义 PV → 按规则赋 EV 值(常用 0-100 原则和 50-50 原则)。AC 不对 EV 产生影响。 |
| 中级实现 | EV + PV(计划价值) | 在简单实现基础上加入日程偏差计算。SV = EV - PV;SPI = EV / PV。可回答"项目进度是提前还是落后"。 |
| 高级实现 | EV + PV + AC(实际成本)+ BAC(完成预算) | 加入成本线(AC)和预测线(BAC),计算成本偏差和成本偏差指数。CV = EV - AC;CPI = EV / AC。可明确项目落后时间和成本超支情况。 |
记忆技巧:简单→进度,中级→进度偏差,高级→进度+成本。
知识点出处:
software-quality-management.第4讲.pdf—— 挣值管理(EVM)。题目来源:本题在 2022Fall(10 分简答)、2024Spring 均以简答题形式出现。
5. 软件项目规模估算基本要点有哪些?(10 分)¶
点击查看答案与解析
解答:
- 尽可能划分详细一些:估算多个部件时,总误差比各部件误差总和小(分而治之,越细越准)。
- 建立对结果的信心:估算本质上是猜测,追求一致性(Consistency)而非准确性(Accuracy)。
- 依赖数据:充分参考历史数据(规模、生产率、缺陷率等),不能凭空猜测。
- 估算要的是过程,而非结果:估算过程是相关干系人达成一致共识的过程。估算过程本身的价值——促使干系人沟通、统一理解、达成共识,结果反而是副产品。
知识点出处:
software-quality-management.第4讲.pdf—— 规模估算。题目来源:本题在 2022Fall(10 分简答)、2024Spring 均以简答题形式出现。
6. 列出 TSP 角色,并说明 TSP 对自主团队的支持¶
点击查看答案与解析
解答:
TSP 七大角色(含开发人员):
| 角色 | 英文 | 核心职责 |
|---|---|---|
| 项目组长 | Team Leader | 建设和维持高效团队;激励成员;主持会议;汇报状态;合理处理团队成员问题 |
| 计划经理 | Planning Manager | 开发团队和个人计划;平衡计划;跟踪进度 |
| 开发经理 | Development Manager | 制定开发策略;规模和资源估算;需求规格说明;高层设计;实现与测试 |
| 质量经理 | Quality Manager | 制定和跟踪质量计划;警示质量问题;组织评审;在提交配置管理前评审消除质量问题 |
| 过程经理 | Process Manager | 维护过程数据、开发标准、会议记录;支持过程改进 |
| 支持经理 | Support Manager | 保证工具环境;配置管理;维护风险/问题跟踪系统;支持复用策略 |
| 开发人员 | Developer | 按计划完成开发任务 |
TSP 对自主团队的支持:
TSP 通过以下机制支持自主团队(Self-directed Team):
- 角色分工明确:每个角色有清晰职责,团队成员自行管理自己的领域,不需要外部经理进行微管理。
- TSP Launch 启动过程:通过 9 次会议,团队自行确定目标、分配角色、制定计划、评估风险,充分体现自管理原则。
- 数据驱动管理:团队成员收集自己的过程数据(时间、规模、缺陷),基于数据自我评估和自我改进。
- 计划平衡机制:团队成员自行协商和平衡计划,确保工作负荷合理。
- 周例会与总结:团队自行主持周例会和项目总结,自我监控进度和质量。
知识点出处:
software-quality-management.第3讲.pdf—— TSP 角色与职责、TSP 自主团队理念。题目来源:本题在 2021Fall 曾以简答题形式出现(列出 TSP 角色并解释其中 5 个的职责)。
7. 质量管理策略是什么?质量管理计划制定过程中有哪些要关注的点?¶
点击查看答案与解析
解答:
质量管理策略:
- 核心策略:用缺陷管理替代抽象质量管理。由于"质量"概念抽象难以直接度量,而缺陷是具体的、可计数的,可以作为质量的代理指标。
- 尽早通过高质量评审消除缺陷:缺陷存在越久,消除成本越高(成本放大效应)。设计和代码评审通常比后期测试更高效。
- 测试不能取消,但应尽量让缺陷在模块内部和上游阶段被发现。
- 测试发现很多缺陷往往说明前期质量差,不应把"测出很多 bug"当作质量好。
- 基本无缺陷的开发是通过开展高质量的评审来实现的。经过训练,评审是所有消除缺陷手段当中最高效的。
质量管理计划制定过程中要关注的点:
- 质量目标:明确要达成的具体质量目标(如 Yield、PQI、A/FR 的目标值、缺陷密度上限等)
- 评审/测试策略:确定各类评审和测试的阶段、类型、参与人员和频度
- 质量指标:选择合适的质量度量指标(DRL、PQI、Yield、Review Rate、A/FR)
- 缺陷消除活动:规划缺陷发现和消除的具体活动(设计评审、代码评审、单元测试等)和时机
- 质量责任分配:明确每个团队成员的质量角色和职责(如质量经理、评审人员)
- 评审速度和规范:代码评审速度 ≤ 200 LOC/小时,文档评审速度 ≤ 4 页/小时
- 过程度量与数据分析:持续收集过程数据,建立预测模型,基于数据驱动改进
知识点出处:
software-quality-management.第5讲.pdf—— PSP 质量管理策略;software-quality-management.第4讲.pdf—— 质量计划。参考资料:
assets/reference/软件质量管理简答题背书版.md第 25 节 —— 质量管理策略和背后逻辑。
8. 随着 ChatGPT 的横空出世……畅想项目管理、质量管理、过程改进的挑战和机遇(15 分)¶
已考:【2022Fall】【2024Spring】
点击查看答案与解析
解答:
参见 2023.md 第八题完整解答。
答题框架建议(从以下三个维度展开):
一、项目管理
- 机遇:AI 辅助项目估算(基于历史数据智能预测规模、工期);自动化进度跟踪与风险预警;智能 WBS 生成;自然语言需求分析。
- 挑战:AI 预测的可解释性和可靠性;过度依赖 AI 可能导致项目团队忽视沟通和人为判断;数据质量和历史数据偏差。
二、质量管理
- 机遇:AI 辅助代码审查(自动发现缺陷模式);自动化测试用例生成;缺陷预测模型精度提升;智能化质量度量与根因分析。
- 挑战:AI 生成的代码本身可能引入新类型缺陷;质量度量需重新定义(如何度量 AI 辅助开发的质量);AI 的质量标准尚未建立。
三、过程改进
- 机遇:AI 驱动的过程数据分析和异常检测;自动化过程监控与改进建议生成;知识管理智能化(自动记录和提炼过程经验);个性化过程指导。
- 挑战:组织文化变革需适应 AI 时代;团队成员需学习新技能;过程改进数据隐私与伦理问题;AI 可能固化而非改进不良过程。
知识点出处:综合运用全课程知识点(项目管理/质量管理/过程改进)。
题目来源:本题在 2022Fall(15 分)、2023(15 分)、2024Spring(15 分)均以综合论述题形式出现。
知识点分布总结¶
| 题号 | 考查内容 | 对应课件 | 往年出现 |
|---|---|---|---|
| 一(1) | 配置项定义 | 第七讲 | 2013 |
| 一(2) | 基线定义 | 第七讲 | 2013 |
| 一(3) | 关键子过程性能基线(PPB) | 第七讲 | 新增 |
| 一(4) | 软件过程定义 | 第二讲 | 2018 |
| 二(1) | 知识工作领导品质 | 第三讲(团队动力学) | 2022Fall |
| 二(2) | 瀑布模型理解 | 第二讲 | 2020-mid, 2021Fall |
| 二(3) | 敏捷宣言内容与正确理解 | 第二讲 / 敏捷概述 | 2020-mid, 2022Fall, 2023 |
| 二(4) | EVM 三种实现方式 | 第四讲 | 2022Fall |
| 二(5) | 估算四个要点 | 第四讲 | 2022Fall |
| 二(6) | TSP 角色与自主团队 | 第三讲 | 2021Fall |
| 二(7) | 质量管理策略与计划制定 | 第五讲 | 2014, 2015A |
| 二(8) | ChatGPT × 项目管理/质量管理/过程改进 | 综合 | 2022Fall, 2023 |