技术开发 频道

PSP基本技术

【IT168 技术文章】

    PSP(Personal Software Process,个体软件过程)是一个过程描述、测度和方法的结构化集合,能够帮助软件工程师改善其个人性能。通过采用一些表格、脚本和标准,可帮助软件工程师估算和计划其工作,从而体现了定义过程及测量其质量和生产率的意义。

    一个基本的PSP原则是:每个人都是不同的,对于某个工程师有效的方法不一定适合另一个,PSP帮助工程师测量和跟踪他们自己的工作,使得他们能够找到最适合自己的方法。

    软件工程师在做项目的开发计划时,或是由经验而来,或是由用户需求而定,往往存在计划与实际相差比较大的情况,或者是前松后紧,遗漏过多,造成维护量的增加。如何减少这种情况的发生?就需要把经验量化并做出分析。通过记录项目的估算情况与实际情况,并进行比较分析,则既利于有经验的软件工程师提高以后项目的预测率,也利于新手软件开发人员参考其他工程师的经验。

    项目的开发成本是一个很重要的问题。通过记录项目的估算成本与实际成本,提高软件开发人员对项目成本估算的准确度,这对在项目早期就有一个清楚的认识大有帮助,以利于以后工作的规划与开展。

    通过记录软件工程师在项目设计及编写代码阶段出现的错误及解决办法,以及记录测试与维护阶段出现的错误、缺陷及解决办法,并产生报告,列出经常出现的错误及错误类型,可把错误尽量控制在交付用户使用前,并尽量减少错误的发生。

    需要注意的是,PSP的目的是为了改善软件工程师的开发性能,而提高性能在于早期对项目有一个比较准确的把握。项目评估的准确度依赖于历史数据的积累,只有正确的历史数据越来越充分,在评估新项目时所采用的指标数才会越准确。在项目进展过程中,还需要根据影响因素的变化不断调整估算指标。

    项目估算

    现在软件在大多数基于计算机的系统中已成为最昂贵的部分,如果软件成本估算的误差很大,就会使盈利变成亏损。

    软件项目估算是一种解决问题的形式,在多数情况下,要解决的问题非常复杂,想一次性整体解决比较困难。因此,对问题进行分解,把其分解成一组较小的接近于最终解决的可控的子问题,再定义它们的特性。

    估算技术一般有代码行(LOC)和功能点(FP)估算法,这是两种不同的估算技术,但有许多共同特性。项目计划人员首先给出一个有界的软件范围的叙述,再由此尝试着把软件分解成一些小的可分别独立进行估算的子功能。然后对每一个子功能估算其LOC或FP(即估算变量)。接着,把基线生产率度量用做特定的估算变量,导出子功能的成本或工作量。将子功能的估算进行综合后就能得到整个项目的总估算。

    LOC或FP估算技术对于分解所需要的详细程度是不同的。当用LOC作为估算变量时,功能分解是绝对必要的且需要达到很详细的程度。而估算功能点所需要的数据是宏观的量,当把FP当做估算变量时所需要的分解程度可以不很详细。LOC是直接估算的,而FP是通过估计输入、输出、数据文件、查询和外部接口的数目,以及复杂性校正值间接地确定的。除去所用到的估算变量,项目计划人员必须对每一个分解的功能提出一个有代表性的估算值范围。利用历史数据或凭实际经验,计划人员对每个功能分别按乐观的、可能的、悲观的三种情况给出LOC或FP估计值。

    为了反映开发特性的影响,应当随时修正平均生产率。

    1 LOC(Lines of Code,代码行)估算代码尺寸

    把项目划分为若干个功能,分别计算每个功能的代码长度,所有功能代码行之和即项目的代码长度。

    LOC估算表包括:

    每个功能的代码长度估算值=(乐观值+4*可能值+悲观值)/6

    估算工作量=代码总估算长度/估算生产率

    估算总成本=日薪*估算工作量

    估算行成本=估算总成本/估算代码长度

    估算生产率由经验获得
   
    2 FP(功能点)估算代码尺寸

    项目的功能点数是几个测量参数(用户输入数、用户输出数、用户查询数、文件数、外部接口数)的功能点之和。

    用户输入数:计算每个用户输入,它们向软件提供面向应用的数据。输入应该与查询区分开来,分别计算。

    用户输出数:计算每个用户输出,它们向软件提供面向应用的信息。这里,输出是指报表、屏幕、出错信息,等等。一个报表中的单个数据项不单独计算。

    用户查询数:一个查询被定义为一次联机输入,它导致软件以联机输出的方式产生实时的响应。每一个不同的查询都要计算。

    文件数:计算每个逻辑的主文件(如数据的一个逻辑组合,它可能是某个大型数据库的一部分或是一个独立的文件)。
   
    外部接口数:计算所有机器可读的接口(如磁带或磁盘上的数据文件),利用这些接口可以将信息从一个系统传送到另一个系统。

    FP估算表包括:

    每个测量参数的估算FP计数=估算值*加权因子

    项目估算FP=各参数FP计数之和*复杂度调整因子

    估算生产率由经验获得

    估算工作量=项目估算FP/估算生产率

    估算总成本=日薪*估算工作量

    单个FP估算成本=估算总成本/估算FP

0
相关文章