《软件过程改进》练习题
一、术语
- 软件生存周期
- 项目
- 里程碑
- 软件度量
- 功能点分析
- 工作分解结构(WBS)
- 软件质量
- RMMM 计划(Risk Mitigation, Monitoring and Management Plan)
- COCOMO 模型
- 项目计划评审技术
- 软件质量模型
- 基于时间的缺陷到达模式
- 软件过程
- 软件基本过程
- 软件支持过程
- 软件组织过程
- 过程框架
- 软件能力成熟度模型
- 统一过程
- 过程模式
- 个体软件过程 PSP
- 团队软件过程 TSP
- 过程规范
- 过程模型
- 配置管理
- 配置项
- 基线
- 预防性维护
- 适应性维护
二、简答题
- 试给出在 SEI 的 CMMI 模型中采用过程评估和改进方法的两个优点和两个缺点。
- 考虑你所在机构中所用的软件过程类型。使用 SEI 模型找出了多少个关键过程域?根据该模型,你所在机构的过程成熟度等级如何划定?
- 若过程改进中包括度量人在过程中的工作,并对过程进行彻底的变更,这样的项目是否是不人道的?对过程改进会发生哪些抵触行为?
- 给出 SEI 的 CMMI 不能适用的两个领域,并说明理由。
- 如何将现有的软件开发向敏捷开发方法转换?期间会遇到哪些困难,如何解决?
- 分析比较 CMMI、ISO15504 和 6sigma 之间的共同点和区别。
- 软件过程为什么必须进行改进?
- 软件工程中引入软件过程的作用和意义是什么?
- 软件过程改进中如何管理变革?
- 软件过程改进的框架的构成是什么?每个构成部分的作用是什么?
- 描述在软件设计过程中的主要活动以及这些活动的输出。使用一个实体-‐关系图(E-‐R 图),说明在这些活动输出之间可能存在的关系。
- 论述度量在软件过程改进中作用。
- 什么叫集成化过程改进?它的意义是什么?
- 制定软件过程改进计划的流程是什么?解释其中的主要活动的作用和目的?
- 简述 CMMI-‐DEV V1.3 中每一成熟度等级所包含的过程域。
三、论述题
- 在什么情况下产品质量可能决定于开发团队的质量?举例说明什么类型的软件产品特别依赖于个人的天赋和能力。
- ISO 9001:2008 标准中的 PDCA 循环,又叫戴明环,是美国质量管理专家休哈特博士首先提出的,由戴明采纳、宣传,获得普及,从而也被称为“戴明环”。它是全面质量管理所应遵循的科学程序。论述它在评估软件项目质量管理中的作用和意义。
- 结合 CMMI 的实施,论述软件过程改进过程中主要阶段的作用。
- 复用的关键障碍之一是使软件工程师考虑利用现有的构件,而不是重新开发新构件,请建议 3 到 4 种软件组织可以用来激励软件工程师进行复用的方式。为了支持复用,应该采用什么技术?
- 论企业软件过程改进的实施。请围绕“企业软件过程改进的实施”论题,依次从以下四个方面进行论述:
(1)叙述软件过程改进实施的主要活动。
(2)概要叙述你参与实施的企业软件过程改进项目以及你所担任的主要工作。
(3)论述该企业实施软件过程改进项目中如何根据企业的实际情况采用模型标准以及实施的主要方法和步骤。
(4)具体阐述该企业在实施软件过程改进的活动中所发现并解决的主要问题和效果。
- 在当今“3C”的环境下,持续的改进是企业生存发展的永恒主题,其运用的工具不是单一的。某企业拟针对“某项服务顾客投诉率高”进行改进,在不同的阶段可采用哪些工具。
- 根据下图,分析说明 CMMI-‐DEV V1.3 中,五个工程类过程域之间的互动关系。
四、应用题
- 如何将现有的软件开发向敏捷开发方法转换?期间会遇到哪些困难,如何解决?
- 总结本企业的基本过程模型。
- 本单位是否需要引入新的软件开发方法?分析原因并给出措施。
- 软件生存期与软件项目的生命期有什么区别?
- 你所在单位或项目组进行了哪些度量活动?你认为有需要改进的地方吗?
- 当前企业的业务都是在全球化、快速变化的环境中运营,传统的软件开发过程无法适应由此产生的快速软件需求。20 世纪 90 年代后期,一些软件开发人员在“Agile Alliance 2001”中系统地阐述了敏捷开发的原则,试图强调灵活性在快速且有效地生产软件中所发挥的作用。目前众多的软件生产企事业已经在实际的软件开发过程中接纳并实践了敏捷开发方法中的基本原则。
问题 1:敏捷开发有许多典型方法,包括极限编程(eXtreme Programming)、Scrum、Crystal、DSDM 等。请问这些方法共同的基本原则是什么?
问题 2:敏捷开发的支持者往往夸大该方法的优点,但是在实践中,敏捷方法的基本原则有时确实很难实施。请用 200 字以内的文字说明敏捷方法中哪些原则在实践中难以实施。
问题 3:敏捷开发方法中最有名的极限编程。请说明极限中的结对编程(Pair Programming)的概念。
问题 4:敏捷开发方法在具体实践过程中,往往需要开发环境或工具支持,一般称为快速应用开发技术和可视化开发技术。请用 150 字以以内的文字说明快速应用开发技术所包含的工具有哪些,并简要说明可视化开发技术的基本概念和技术原理。