软件过程改进 PSP部分学习笔记

开始决定写博客之后,把这里当成新的知识库好了,过段时间把之前存下来的笔记搬上来。

反正下雨天打孩子,闲着也是闲着。


软件过程改进(Software Process Improvement,SPI)帮助软件企业对其软件过程改进进行计划、措施制定以及实施。实施对象就是软件企业的软件过程,也就是软件产品的生产过程。

个体软件过程(Personal Software Process,PSP)一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。独立于具体技术,其原则可用于几乎任何的软件工程任务。

个体软件过程是为了帮助SE出色工作而存在的,帮助估计、计划工作,提高程序质量。建立度量个体软件开发过程改进的基准,确定过程的改变对软件工程师能力的影响。

过程改进的步骤:定义质量目标,测量产品质量,了解过程,调整过程,应用调整过程,测量结果,结果与目标比较,循环调整过程至比较部分。

时间记录日志与周活动总结表包含阶段性数据,因此均为阶段计划文档。

周活动总结表数据来源于时间记录日志。

阶段计划:基于时间段的计划,指一段时间内对时间的安排。

产品计划:基于活动的计划。产品计划是产品活动期间的时间安排。

作业编号日志为产品计划文档,时间数据来自时间记录日志。

产品计划术语定义:

产品:为客户生产的物品,产品可为有形产品,也可为无形产品

项目:生产一种产品。

任务:已定义的一部分工作。

过程:完成项目的方法。

计划:完成一个特定项目的方法

作业:你所做的事,项目或任务。

产品计划的三个基本方面:规模估计,项目时间,项目进度计划。

规模估计:通过当前任务规模与之前已有的相似经验做出估计。

LOC(程序行 Lines of Code)规模估算:不统计注释,空行,IDE生成的辅助代码,只统计自己编写的有效代码。

进度管理

通常通过制定一个完整的进度表来实现。

进度:基于时间顺序计划活动的一个列表。

进度表制定步骤:分析由哪几项任务组成->估计任务规模->列出每一项任务的开始与结束时间。

原则:确保每个人都知道要完成的任务,获取每项任务承诺的完成时间,确定各任务间的依赖关系,依赖关系文档化,消除涉及范围内人员的冲突分歧与误解,确保包含整个作业所需全部任务。

检查点:项目中可测量的进度点称为检查点,检查点必须清晰明确无歧义,其完成情况可进行客观验证。

项目计划:定义要完成的工作与如何做这项工作,是一个实际性能比较的基准,包含产品规模估计与完成工作所需时间的估计。

个体软件开发过程:过程定义完成项目的方法,一个过程可包括多个阶段,一个阶段可包括多个任务或活动。

过程的每个阶段应有明确的入口准则与出口准则。

已定义过程:有完整描述的过程。

个体软件过程流程

缺陷:指程序中存在的错误,语法错误,逻辑错误等,为任何影响程序完整而有效地满足用户要求的客观存在的事物。

缺陷管理关键是缺陷分类,再进行处理或修复。

发现缺陷的步骤:标识缺陷征兆,从征兆推断出缺陷的位置,确定程序中的错误,决定修复方式,修复缺陷,验证

缺陷发现的方式:编译器,测试,用户反馈,个人代码复查。

代码复查的目标是在软件开发过程中尽可能早和多地发现缺陷。

代码复查检查表

保证代码复查遵循一个精确的规程,发现与改正程序中的缺陷,并使过程具有可查数据。

检查表需要不断更新不断改进。

缺陷预测

估计程序缺陷个数,对比过往数据估计当前开发程序质量,决定是否需要增加一些缺陷排除步骤。

缺陷密度:每千行代码缺陷数称为缺陷密度,单位为Defects/KLOC

缺陷密度步骤:

累计每个过程阶段发现的缺陷总数(D)

统计新开发的和修改的代码行数(N)

缺陷密度Dd=1000*D/N

缺陷估计:

估计程序可能有多少新的和修改的代码行 (Nplan)

计算以前开发的程序的每千行源代码平均缺陷数(Ddplan)

估计缺陷数:Dplan=Nplan*Ddplan/1000

缺陷排除效益、缺陷引入率与排除率

缺陷排除效益:测量通过某一排除方法所发现的缺陷的百分比。在PSP中,使第一次编译与测试前发现缺陷的百分比,也叫过程效益。缺陷排除效益=该方法发现的缺陷/缺陷总数

累计缺陷引入率:计算阶段内每小时引入的缺陷数,公式为 60*阶段引入缺陷数/阶段累计花费分钟数

累计缺陷排除率:计算阶段内每个小时派出的缺陷数,计算公式为60*阶段排除缺陷数/阶段累计花费分钟数

减少缺陷引入率的方法

记录所有的缺陷数据,生产更好的软件设计,使用更好的方法,使用更好的工具

提高缺陷排除率的方法:

集中提高缺陷排除效益,必须使缺陷排除效益稳定于70%或更高

第一次编译前做代码复查 定期更新代码复查检查表

 

过程测量:

程序质量取决于过程质量,过程质量取决于软件工程师工作方式。

最基本的过程测量包括所生产的产品的产量,产品的质量,以及完成工作需要的时间与资源,从这些方面的可以确定当前过程的性能以及将来如何改进过程以生产更好的产品。

PSP只从缺陷引入与排除两个方面来对过程进行测量

质量成本:过失成本、质检成本、预防成本。

过失成本:包括修复产品缺陷的所有费用。

质检成本:包括评估产品质量以确定产品中是否仍留有缺陷的所有工作,为保障费用

预防成本:修改过程以避免引入缺陷所带来的费用

过失质量成本计算:所有编译测试时间占总开发时间的百分比

质检质量成本计算:所有复查时间占总开发时间的百分比

质检/过失比(A/FR):

质检成本除以过失成本



猜你喜欢

转载自blog.csdn.net/LHF_debug/article/details/79616102
psp