跳转至

2016年(含2015B)《软件质量与管理》试题 解答与解析

试题来源: 综合assets/exams/软件质量往年题目整理.pdfassets/exams/软件质量管理-习题-EagleBear.pdfassets/exams/软质管古老往年卷.pdf中标有【2016】或【2015B】的题目整理。

一、选择题

1. CMM的创始人是哪位

A. Boehm B. Juran C. Humphrey D. Crosby

点击查看答案与解析

答案:C(Humphrey)

知识点出处assets/slides/软件质量与管理.第七讲.pdf——Humphrey被称为"软件过程之父",提出了软件能力成熟度模型(CMM)。

2. XP规定开发人员每周工作时间不超过___小时,连续加班不可以超过两周,以免降低生产率

A. 30 B. 40 C. 50 D. 60

点击查看答案与解析

答案:B(40小时)

知识点出处assets/slides/8敏捷概述.pdf——XP(极限编程)的实践规范。

3. 下列不属于看板方法典型实践的是

A. 可视化工作流 B. 站立式会议 C. 限定WIP D. 重构

点击查看答案与解析

答案:B、D

知识点出处assets/slides/9新方法学.pdf——看板(Kanban)方法的典型实践包括:可视化工作流、限定WIP(在制品数量)。站立式会议是Scrum的实践;重构是XP的实践。

4. 为了制定Schedule plan,下述描述中,哪一项是不需要的

A. Task size B. Task Order C. Schedule Hour D. Task hour for each task

点击查看答案与解析

答案:A(Task size)

知识点出处assets/slides/软件质量与管理.第四讲.pdf——制定日程计划需要:任务清单(Task List)、任务顺序(Task Order)、每项任务所需时间(Task hour for each task)和人员资源水平(Schedule Hour)。

5. 在上题中,还需要补充下述哪一项数据就可以定义Schedule Plan了

A. Task List B. Plan Value C. Earned Value D. Nothing

点击查看答案与解析

答案:A(Task List)

知识点出处assets/slides/软件质量与管理.第四讲.pdf——任务清单是制定日程计划的基础。

二、简答题

1. 请分别描述PDCA模型和IDEAL模型的主要步骤(5分)

点击查看答案与解析

解答

PDCA模型(戴明环)

  1. Plan(计划):分析现状找出问题 → 分析影响质量的原因 → 找出措施 → 拟定措施计划
  2. Do(执行):执行措施,执行计划
  3. Check(检查):检查效果,发现问题
  4. Act(处理):总结经验,纳入标准 → 遗留问题转入下期PDCA循环

IDEAL模型

  • Initiating(初始/启动):启动改进
  • Diagnosing(诊断):诊断现状和问题
  • Establishing(建立):建立改进计划
  • Acting(执行):执行改进措施
  • Leveraging(调整/学习):总结经验,调整优化

IDEAL模型解决了软件组织在各种质量改进环境下的需要,包括软件过程改进周期中的五个阶段。

知识点出处assets/slides/软件质量与管理.第七讲.pdf——PDCA和IDEAL过程改进模型。

2. 请结合SCRUM这种敏捷方法论述敏捷方法应该具备的特征?同时解释为何常见的若干种描述敏捷方法对立面的方法的特征(例如,严格、重型、计划驱动等等)并不合适?(10分)

点击查看答案与解析

解答

敏捷方法应具备的特征

  1. 小周期迭代
  2. 快速响应变更
  3. 价值交付
  4. 自动化

为何"严格"作为对立面不合适: 所有优秀的工程方法和实践都是严格的。以XP为代表的一类敏捷方法对工程规范有着极为严格的要求。

为何"重型"作为对立面不合适: 轻量级和重型并没有严格定义,何为重型?对于变更这件事情,几乎所有方法都是限制的。因此很难说敏捷方法就是轻量级方法。

为何"计划驱动"作为对立面不合适: 所有正式的项目都是计划驱动的,否则计划的作用无法体现。计划驱动的开发人员必须敏捷,敏捷开发人员必须规范。

知识点出处assets/slides/软件质量与管理.第二讲.pdfassets/slides/8敏捷概述.pdf——敏捷方法的特征及对立面辨析。

3. DevOps的三个步骤

点击查看答案与解析

解答

  1. 第一步:实现开发到运维的工作快速地从左向右流动(持续交付)
  2. 第二步:从右向左的每个阶段,采用持续、快速的工作反馈机制(持续反馈)
  3. 第三步:建立具有创意和高可信度的企业文化,支持动态的、严格的、科学的实验(持续学习与实验)

知识点出处assets/slides/软件质量与管理.第七讲.pdf——DevOps三步工作法。

4. 请解释在质量保障活动中的V&V分别是什么含义?两者之间的关系是什么?(5分)

点击查看答案与解析

解答

Verification(验证):目的是确保选定的工作产品与事先指定给该工作产品的需求(即产品需求或产品组件需求)一致。关注的是"是否正确地建造产品"。

Validation(确认):目的是确保开发完成的产品或者产品组件在即将要使用该产品或者产品组件的环境中工作正确。关注的是"是否建造了正确的产品"——客户需求的满足。

两者关系

  • 相互依存、关系紧密,都是为了提升最终产品的质量
  • 验证活动的依据来源于确认的目标(产品组件需求必须与客户需求一致)
  • 验证活动为确认活动提供了前提条件(在完成产品需求之前,考虑客户需求是否满足是没有意义的)

知识点出处assets/slides/软件质量与管理.第五讲.pdf——质量保障活动中的V&V。

5. 请给出需求开发的完整过程,并且解释客户需求和产品需求的各自含义以及在需求开发过程中该如何体现客户需求和产品需求?(8分)

点击查看答案与解析

解答

需求开发的完整过程:需求获取 → 需求汇总 → 需求验证 → 需求文档制作

客户需求:描述的是客户的期望。客户在实际工作中碰到问题,希望通过某个东西来帮忙解决。客户需求可能很简单也可能很复杂,可能很清晰也可能很模糊,需要开发团队与客户一起交流协商。

产品需求:描述的是开发团队所提供的解决方案。针对客户需求,开发团队设计出一个可以帮助客户解决问题的方法。

在开发过程中的体现:需求获取阶段主要获取客户需求;需求汇总和验证阶段将客户需求转化为产品需求;需求文档制作阶段明确记录产品需求。

知识点出处assets/slides/软件质量与管理.第四讲.pdf——需求开发过程。

6. 如何制定一份让人无法拒绝的计划,请描述基本步骤和一些注意事项(10分)

点击查看答案与解析

解答

基本步骤

  1. 制定任务计划和日程计划:前者描述项目所有的任务清单、任务之间的先后顺序以及每个任务所需时间资源;后者描述了各个任务在日程上的安排
  2. 制定资源计划
  3. 关键:必须用正推的方式来制订项目计划(从需求出发 → 概要设计 → 估算 → 日程计划,不是倒推)
  4. 原则:除了概要设计和资源估算之外,其他环节尽可能自动化完成。充分参考历史数据进行估算

注意事项

  • 依赖历史数据,用模型自动生成估算结果,不容易被人质疑
  • 注意哪些步骤必须且只能人为干预(如定义需求、概要设计、确定团队资源水平)
  • 从需求到日程计划是正向过程,绝不能倒退式

知识点出处assets/slides/软件质量与管理.第四讲.pdf——通用计划框架与计划制定。

7. 请结合软件开发特点介绍软件项目管理中自主型团队的必要性(10分)

点击查看答案与解析

解答

软件开发是一种智力活动,开发者是智力劳动者。对于智力劳动者而言,管理的第一准则就是智力劳动者不能被管理,只能实现自我管理。需要:处理和讨论非常抽象的概念;把不同的部分整合成一个可以工作的正确的系统;全身心地参与;努力做出卓越的工作。

自主团队的特点:自行定义项目目标、自行决定团队组成和角色、自行决定开发策略、自行定义开发过程、自行制定开发计划、自行度量管理和控制项目工作。

知识点出处assets/slides/软件质量与管理.第三讲.pdf

三、科学家/工程师贡献简述

1. Deming(戴明)

  • 提出质量改进的思想,被称为"日本质量管理之父"
  • 提出PDCA循环("戴明环")
  • 提出质量管理的14条原则

2. Juran(朱兰)

  • 主编《质量控制手册》,奠定TQM理论基础
  • 提出"适用性质量":质量是一种适用性
  • 提出质量三步曲:质量计划 → 质量控制 → 质量改进
  • 提出80/20原则:80%的质量问题由领导责任引起

3. Crosby(克劳士比)

  • 提出"零缺陷"概念:第一次就把事情做对
  • 提出质量管理的绝对性:质量就是符合要求,标准是零缺陷
  • 提出质量改进的基本要素(6C)

4. Humphrey(汉弗莱)

  • "软件过程之父"
  • 采用Crosby的成熟度度量,提出软件能力成熟度模型(CMM)
  • 将质量管理理论引入软件过程

知识点出处assets/slides/软件质量与管理.第五讲.pdfassets/slides/软件质量与管理.第七讲.pdf

知识点分布总结

考查内容 对应课件
PDCA & IDEAL模型 第七讲
SCRUM与敏捷方法特征 第二讲/第八讲
DevOps三步法 第七讲
V&V验证与确认 第五讲
需求开发过程 第四讲
项目计划制定 第四讲
自主团队 第三讲
质量管理科学家贡献 第五讲/第七讲