aoi学院

Aisaka's Blog, School of Aoi, Aisaka University

软件过程管理-知识点快速复习

选择题

  • 福师

概念了解

软件成熟度

  • CMM描述一条从无序的、混乱的过程到成熟的、有纪律的过程的改进途径,描绘出软件组织如何增加对软件开发和维护的过程控制,如何向软件工程和管理的优秀文化演变等方面的指导。

软件生命周期

  • 软件生命周期是软件的产生直到报废或停止使用的生命周期。软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,也有将以上阶段的活动组合在内的迭代阶段,即迭代作为生命周期的阶段。

代码重构

  • 在不改变系统行为的前提下,重新调整优化系统的内部结构以减少复杂性,消除冗余,提高系统的灵活性和性能。

集成项目管理

  • 是在用来实现项目具体目标的规定时间内,对组织机构资源进行计划、引导和控制工作。

配置

  • 配置是在技术文档中明确说明最终组成软件产品的功能或物理属性。

过程评估

  • 软件过程评估所关注的是软件组织自身内部软件过程的改进问题,目的在于发现缺陷,提出改进的方向。

项目风险

  • 管理软件开发项目过程中的风险,即潜在的风险因素:技术风险、外部风险、组织风险、管理风险。

质量管理

  • 质量管理就是为了实现项目的质量目标,对项目的质量所做的全面规划。

过程规范

  • 过程规范就是对输入/输出和活动所构成的过程进行明文规定或约定俗成的标准。软件过程规范是软件开发组织行动的准则与指南,可以依据上述各类过程的特点而建立相应的规范,如软件[基本/支持/组织]过程规范。

软件过程

  • 软件过程是指软件开发人员开发和维护软件及相关产品,如项目计划、设计文档、代码、测试用例、用户手册等的一套行为、方法、实践及变换过程。

剪裁

  • 目标是在企业过程管理框架下,对过程标准及规范进行裁剪,在有限的资源和时间内实现项目目标。

验证

  • 指验证或检验软件是否已正确地实现了产品规格书所定义的系统功能和特性,验证过程提供证据表明,软件相关产品与所有生命周期活动的要求相一致。

项目管理

  • 在用来实现项目具体目标的规定时间内,对组织机构资源进行计划、引导和控制工作。

基线

  • 基线是评审过的一个或多个软件配置项,每一个基线都是下一步开发的出发点和基础。

需求开发

  • 包括需求获取、需求分析、需求定义和需求验证。目的是通过调查与分析,获取用户需求并定义产品需求。

需求管理

  • 包括变更控制、版本控制、需求跟踪和需求状态跟踪。

PSP

  • PSP(个体软件过程)着重于软件开发人员的个人能力提升,体现在估算能力、计划能力、计划执行以及质量管理等方面。

TSP

  • TSP(团体软件过程)提供一个已经定义的团队构建过程;一个团队作业框架;一个有效的管理环境。

简答

TSP原则

  • 循序渐进的原则,首先在PSP的基础上提出一个简单的过程框架,然后逐步完善;

  • 迭代开发的原则,选用增量式迭代开发方法,通过几个循环开发—个产品;

  • 质量优先的原则,对按TSP开发的软件产品,建立质量和性能的度量标准;

  • 目标明确的原则,对实施TSP的群组及其成员的工作效果提供准确的度量;

  • 定期评审的原则,在TSP的实施过程中,对角色和群组进行定期的评价;

  • 过程规范的原则,对每一个项目的TSP规定明确的过程规范;

  • 指令明确的原则,对实施TSP中可能遇到的问题提供解决问题的指南。

CMM中可重复级与已定义级的差异与联系

  • 可重复级关注于项目级别的管理,以每个里程碑的管理为重点,期望项目能够按照计划达到项目的目标。

  • 已定义级关注于组织的所有项目按照统一的标准过程执行项目,使用和维护组织过程财富库,以项目的里程碑的内部可见性的管理为重点,期望组织能持续稳定的产出高质量的工作产品为目标。

需求变更控制流程

  • 1.提出变更请求;2.CCB进行评估,若CCB决定不做变更则取消变更;3.进行需求验证,若通过则实施变更,否则重新修改和验证。

知识传递与有效方法

  • 纵向传递是一个具有很强时间顺序性的接力过程,指软件产品和技术知识从需求分析阶段到设计阶段、从设计阶段到编程阶段、从开发阶段到维护阶段、从产品上一个版本到当前版本的知识传递过程。

  • 横向传递是指软件产品和技术知识在不同团队之间的传递过程。

  • 培训是知识转移的过程,也是解决这一问题最主要的手段。(适当扩写)

软件过程评估目标

  • 测试的目的是为了发现尽可能多的缺陷,不是为了说明软件中没有缺陷。

  • 成功的测试在于发现了迄今尚未发现的缺陷。所以测试人员的职责是设计这样的测试用例,它能有效地揭示潜伏在软件里的缺陷。

软件产品工程从传统产业获得的启示

  • 每一个构件的接口统一,事先有明确定义。

  • 产品集成的过程是循序渐进的过程管理。

  • 分工明确,有专业生产配件的,也有专门从事组装的。

  • 每一个环节都得到严格的质量控制,保证构件的质量合格。


论述

软件过程的作用

  • (即为什么要用软件过程原理的一堆模型来入手,便于管理、便于迭代、便于开发、便于维护等)

与上课讨论题类似(敏捷开发、MSF、软件过程)