软件过程管理复习笔记

SCNU2022年《软件过程管理》课程复习笔记

内容来自课本与砺儒云ppt,部分答案经过整理,有删改

名词解释

集成项目管理

是对已定义的组织标准软件过程进行剪裁以符合项目的特性,吸收相关软件过程财富,制定集成的项目自定义过程来管理多个项目,并且满足相关利益者的要求,到达平衡。

需求

用户解决问题或达到目标所需要的条件或能力,系统或系统部件要满足合同标准,规范或其他正式规定文档所需要具有的条件或能力,反映上述条件或能力的文档说明

软件过程管理(改:软件过程)

是人们用来开发和维护软件及相关产品的活动、方法、实践和改进的集合。

验证

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

软件成熟度

【软件过程成熟度】指对具体软件过程进行明确定义、管理、度量和控制的有效程度

代码重构

是指在不改变代码外在行为的前提下通过对代码进行整体的修改,以改进代码的内部结构和优化算法等,使程序整体性能改善、复用性更高以及理解性和可维护性更强等,而且保证了在对原有的软件扩充、提高了软件本身的质量。

质量管理

质量管理是指全部管理职能的一个方面,该管理职能负责质量方针的制定与实施

【补充】质量管理是指确定质量方针,目标和职责,并通过质量体系中的质量策划,质量控制,质量保证和质量改进来使其实现的所有管理职能的全部活动

项目管理

项目管理是指把各种系统、方法和人员结合在一起,在规定的时间、预算和质量目标范围内完成项目的各项工作

过程规范

过程规范就是对输入/输出和活动所构成的过程进行明文规定或约定俗成的标准。

【补充】是软件开发组织行动的准则与指南

基线

经过正式评审和认可的一组软件配置项,此后他们将作为下一步开发工作的基础,而且只有通过正式的变更控制流程才能被更改

【补充】软件生命期各阶段末尾的特定点,也被称为里程碑

简答题

简要论述项目成本的组成及估算方法

成本组成
直接成本

可以追溯到个别产品、服务或部门的成本。包括人工、硬件设备和软件等费用。

间接成本

几项服务或几个部门共同引起的成本。又分为:

  • 项目管理成本。例如咨询、项目培训和出差费用
  • 一般管理成本(固定成本)。包括高层管理人员的费用,行政费用。
估算方法
  1. 经验估算法

    由有专门知识和丰富经验的人提出一个近似的猜测。

  2. 比例法

    以过去项目为参考来预算目前项目的成本。

  3. 工作分解结构表WBS全面估算

    把项目任务进行合理的细分(如某种材料、某种设备和某一活动单元),然后自上而下或自下而上

试论述知识传递^1的分类及有效方法

分类
纵向传递

软件产品和技术知识从需求分析阶段到设计阶段、从设计到编程、从开发到维护以及从上一个版本到当前版本的知识传递过程。时间顺序性的

横向传递

软件产品和技术知识在不同团队间的传递过程,不同工种的团队之间、不同产品线的开团队之间、不同知识领域以及新老员工之间。实时性的

有效方法
  • 团队文化的建设,员工的教育和培训:
  1. 创造愉快活跃的团队关系
  2. 对团队适时、定期的培训
  3. 对新员工进行足够的培训
  • 需求文档、产品规格说明书、设计的技术文档、测试计划和用例等的评审、复审,起着一箭双雕的作用,既是质量保证的一种措施,是一种知识传递的方式。
  • 使用统一的语言(如UML)来描述领域知识、设计模型和程序实现等,使大家对同样的一个问题有着同样的认识,减少知识传递的难度和成本。
  • 建立良好的反馈机制、文档管理系统、知识库(knowledgebase)和论坛等,都会有助于知识的共享和传递。

论述PSP,TSP,CMM三者的相互关系适用范围

PSP(Personal Software Process):个体软件过程

TSP(Team Software Process):团队软件过程

CMM(Capacity Maturity Model):能力成熟度模型

PSP是改善软件个人的过程能力,TSP是改善软件团队的过程能力,而CMM则集中在软件组织过程能力成熟度的指导上。

CMM是过程改善的第一步,提供了评价组织的能力、识别优先改善需求和追踪改善进展的管理方式。

PSP能够指导软件工程师如何保证自己的工作质量,管理自身的软件过程和产品质量。

TSP结合了CMM的管理方法和PSP的工程技能,通过将个人与组织/管理系统相联系,通过告诉管理层如何支持和授权项目小组,坚持高质量的工作,向组织展示如何应用CMM原则和PSP技能去生产高质量的产品

CMM(p53),CMMI体系中各个成熟度级别

CMM CMMI 描述
初始级 初始级 组织的过程能力是不可视和不可预测的,缺乏开发和维护软所需的稳定环境
过程缺乏定义,其过程是无秩序的,有时甚至是混乱的
可重复级 受管理级 建立了管理软件项目的方针和实施这些方针的规程,使软件项目的有效管理过程制度化,有能力去跟踪成本、进度和质量。一个有效过程可特征化为已文档化的、已实施的、可培训的和可测量的软件过程
已定义级 已定义级 包含一组协调的、集成的、适度定义的软件工程过程和管理过程,具有良好的文档化、标准化,使软件过程具有可视性、一致性、稳定性和可重复性,软件过程被集成为一个有机的整体
定量管理级 已管理级 软件过程是量化的管理过程。在上述已定义级的基础上,可以建立有关软件过程和产品质量的、一致的度量体系,采集详细的数据进行分析,从而对软件产品和过程进行有效的定量控制和管理。
优化级 持续优化级 不断改善组织的软件过程能力和项目的过程性能,利用来自过程和来自新思想、新技术的先导性试验的定量反馈信息,使持续过程改进成为可能。为了预防缺陷出现,组织有办法识别出弱点并预先针对性地加强过程

软件过程评估的类型

A类评估。全面综合的评估方法,要求全面覆盖评估中所使用的模型。
B类评估。评估范围缩小,集中于需要关注的过程域。
C类评估。也称为快估。主要是检查特定的风险域,找出过程中的问题所在。

特征 A类 B类 C类
用途模式 全面综合的评估方法。 l组织的成熟度等级的评定。 自我评估。 l范围小,集中于关注的过程域。 快估。 l检查特定的风险域
优点 覆盖全面、结果客观,能整体把握组织过程能力和清楚过程中的优势和弱势,评定等级。 发现过程问题并启动组织的过程改进,提高过程洞察力,风险小。 投入小、反馈及时、见效快。
缺点 投入大、资源需求很多、风险大。 严格性和规范性低、不够全面,不能评定等级。 深度和广度都不够,结果可信度低。
评估发起人 组织的最高管理层。 过程改进组织或质量管理部门。 任何组织内部的经理。
评估组组成 内部和外部人员。 内部或外部人员。
评估组规模 4 ~ 10人+评估组长。 2 ~ 6人+评估组长。 1 ~ 3人+评估组长。
评估组资格 有经验。 有适当经验。
对评估组长的要求 主评估师。 主评估师或受过专业过程评估培训的人员。 有过程评估经验的人员

质量计划的制订步骤

  1. 了解项目的基本概况,收集项目有关资料
  2. 确定项目质量目标树,明确项目质量管理组织机构
  3. 制定项目质量控制程序
  4. 项目质量计划的审定与实施

论述题

软件过程管理的作用

软件过程管理是为快速开发高质量软件、有效地维护软件运行等各类活动提供的指导性框架、实施方法和最佳实践。

提高团队整体能力

提高软件产品的质量与软件开发过程的生产率。

需求管理,开发管理

第九章,过程评估,过程改进

[清华大学出版社]: http://www.tup.tsinghua.edu.cn/booksCenter/book_02225301.html “软件过程管理”
[砺儒云]: https://moodle.scnu.edu.cn/course/view.php?id=12768 “2022年软件过程管理”