中国软件网

您现在的位置是:网站首页>软件头条

软件头条

软件项目管理之软件的度量

中国软件网2023-05-07软件头条软件试运行报告
股票软件源代码,软件试运行报告,办公软件基础,软件项目管理之软件的度量,股票软件源代码,软件试运行报告,办公软件基础曾说过一句话:①当你能够测量你所说的并将其用数字表达出来,你就对它有了一些了解;②但当你不能测量,不能用数字表达它时,

软件项目管理之软件的度量

软件项目管理之软件的度量,

  股票软件源代码,软件试运行报告,办公软件基础曾说过一句话: ①当你能够测量你所说的并将其用数字表达出来,你就对它有了一些了解;②但当你不能测量,不能用数字表达它时,你对它的了解就很贫乏、很不令人满意;③它可能是知识的开始,但你在思想上还远没有进入科学的境地。

  这句话说明,想要得到一个可量化的结果,需要先去测量它,有了测量结果后,才会有度量;也就是说,测量是度量的基础。

  (1)测量(measure)—— 对一个产品或过程的某个属性的范围、数量、维数、容量或大小提供了一个定量的指示。

  (2)度量(metrics)—— 对一个系统、部件或过程具有的某个给定属性的度的一个定量测量。

  (3)指标(indicator)—— 软件工程师收集测量并开发度量,这样就可以获得“指标(indicator)”;指标是一个度量或度量的组合,它对软件过程、软件项目或产品本身提供了更深入的理解。

  有四个软件小组共同完成一个大型项目,但是每个小组必须进行技术评审, 通过检查每人每小时所发现的错误数,管理者发现,采用更加正式评审方法的两个小组比起另外两个小组,每人每小时所发现的错误数要高40%。

  从上面这段话中可以得出,每人每小时所发现的错误数为测量值,更加正式的评审方法为指标,每人每小时所发现的错误数要高40%为度量值。

  假设其它参数相同,这就给管理者提供一个指标:正式的评审方法比起其他评审方法在时间投资上能得到更大的回报,他可能会建议所有小组都采用正式的评审方法。

  得出结论,测量是度量的基础,度量是为了得到指标,它们的关系为:测量-度量-指标。

  使得软件工程组织能够洞悉一个已有过程的功效(如范型、软件工程任务、工作产品及里程碑);

  过程度量(Metrics)的收集跨越所有的项目,并经历很长的时间,目的是获得改善软件过程的指标。

  从过去的项目中收集的度量可用来作为估算现在软件项目的工作量及时间的基础;

  所花费的工作量及时间的测量可以和预估算值进行比较,项目管理者使用这些数据来监督和控制项目的进展。

  能指导进行一些进度上的必要调整,以避免延迟、减少问题及风险,从而使得开发时间减到最少;

  产品 —— 软件产品的直接测量包括产生的代码行数(LOC)、执行速度、存储量大小、在某种时间周期中所报告的差错数。

  产品 —— 软件产品的间接测量包括功能性、复杂性、效率、可靠性、可维护性和许多其它的质量特性。

  2、有用度量的计算——举例阐述项目LOC工作量成本文档页数错误缺陷人员Alpha4293Beta21865Gamma56646……………………

  Q:该表格列出了在过去几年完成的每一个软件开发项目和关于这些项目的相应的面向规模的数据。那么,①从该表中可以获得哪些有用信息?②三个项目哪个项目的软件质量最高?③哪个项目的生产率最高?④哪个项目的单位成本最高?

  需要注意的是:在表格中记载的工作量和成本是整个软件工程的活动(分析、设计、编码和测试),而不仅仅是编码活动;

  对于每一个项目,可以根据表格中列出的基本数据计算简单的面向规模的生产率和质量等的度量。

  (2)面向功能的度量主要考虑程序的“功能性”和“实用性”,而不是对LOC计数;

  (3)该度量是一种叫做功能点方法的生产率度量法,利用软件信息域中的一些计数和软件复杂性估计的经验关系式而导出功能点FP。

  注: FP即Function Points,表示功能点; 总计数值是所有加权计数项的和;与五个信息域有关,即输入,输出,查询,文件,接口,且需考虑加权因子; Fi为复杂度校正值,需回答14个问题,详情看下方第(3)点

  用户输出数:各个用户输出是面向应用的输出信息,包括报表,屏幕信息,错误信息等。在报表中的各个数据项不应该再分别计数;

  文件数:每一个逻辑主文件都应计数。逻辑主文件是指逻辑上的一组数据,可以是一个大数据库的一部分,也可以是一个单独的文件;

  ②一个信息域是简单的、平均(中等)的还是复杂的,由使用功能点方法的机构自行确定,从而计算出加权计数;

  FP=总计数值×[0.65+0.01 × ∑(Fi)],总计数值是所有加权计数项的和;

  ④Fi(i=1..14)是复杂性校正值,它们应该通过逐一回答14个问题来确定,详情看第(3)点;

  ③④注意点: Fi的取值0~5:0表示没有影响;1表示微小影响;2表示轻度;3表示中度;4表示显著;5表示重大; ∑(Fi)是求和函数。

  ⑤一旦计算出功能点,就可仿照LOC的方式度量软件的生产率、质量和其它属性,具体公式如下:

  功能点FP和总计数值之间的关系,最小值是x 总计数值,最大值是x 总计数值。

  如果14个问题的复杂度调整值总和为42,总计数值假设为100,则功能点FP的值为___。

  ④因此,功能点度量不适合用于很多工程及嵌入式系统(它们强调功能及控制)。

  功能点测量的超集(superset),适用于算法复杂性较高的应用,主要应用于系统和工程软件的应用,例如,实时系统、过程控制软件及嵌入式软件应用。

  由上图可以发现: ①在FP信息域值计算的基础上增加了一个新的软件特性,即算法——特定计算机程序中所包含的一个界定的计算问题; ②在特征点的计算中,权值是固定的,而原来功能点的度量计算中,权值有简单、平均、复杂三种取值。 PS:权值即加权因子4、调和不同的度量方法

  A:代码行数和功能点之间的关系依赖于用来实现软件的程序设计语言和设计质量。

  不妨试问下自己,如果开发一个信息系统需要用到56000行VB代码,3000行SQL代码,那么该系统的功能点(FP)是多少?

  在软件交付之后的度量则把注意力集中于还未发现的缺陷数和系统的可维护性方面;

  为了实现实时的质量评估,工程师们必须采用技术测量客观地评估质量,而不能采用主观的方法。以下列出4种客观的度量指标:

  关于正确性的最常用的测量是每KLOC的缺陷数(Defects/KLOC),这里的缺陷数定义为“验证结果与需求不符的地方”。

  可维护性是指遇到错误时程序能被修改的容易程度,维护所占的工作量比其他活动都大,它无法直接测量;

  有一种简单的面向时间的度量,称MTTC(平均变更时间),可以作为可维护性的度量;

  这个时间包括分析变更要求、设计适当的修改、实现变更并测试、及把变更发送给所有的用户。

  还有一种面向成本的可维护性度量,称损坏度,指的是软件发布给最终用户后修改遇到缺陷的成本。

  思考: Q1:MTTC越低,可维护性越好还是越差呢? A1:MTTC即平均变更时间,变更时间越少,说明软件质量越好;所以,MTTC越低,可维护性越好。 Q2:当每千代码行的缺陷数降低的同时,损坏度有可能提高吗? A2:损坏度即遇到缺陷的成本。 举个例子: 假设在一个软件中,遇到50个缺陷,这50个缺陷都是些很小很细微的问题,很快就能修复完,那么所花费的成本也就不会很高; 再或者在另一个软件中,遇到5个缺陷,这5个缺陷刚好是5个非常重大的漏洞问题,需要很多时日才能修复完,那么所花费的成本就会很高,即损坏度提高; 所以,缺陷数低并不代表成本就会低,这也就意味着,当每千代码行的缺陷数降低的同时,损坏度有可能提高。

  一个系统的完整性可定义为完整性=∑[1-危险性×( 1-安全性) ]其中,对每一个攻击的危险性和安全性都进行累加。

  思考: Q:某个攻击的危险性是70%,安全性是40%,那它的完整性等于多少? A:完整性 = ∑ [1-危险性×( 1-安全性) ] = 1 - 0.7(1 - 0.4) = 1 - 0.7x0.6 = 1 - 0.42 = 0.58 试想下,一个完整性为0.58的系统,它合格吗? 答案自然是不合格的。一个软件,连最基础的60%的合格率都达不到,又怎么能合格呢。

  如果一个程序不具有“用户友好性”,即使它所执行的功能很有价值,也常常会失败。可使用性量化“用户友好性”,并依据以下四个特征进行度量:

  E是软件交付给最终用户之前所发现的错误数,D是软件交付之后所发现的缺陷数。

  DRE也能够用于在项目中评估一个小组在错误传递到下一个活动或任务之前发现这些错误的能力。在这种情况下,我们定义DRE为:

  软件团队将软件交付给了最终用户。在使用的第一个月中,用户发现了8个缺陷。在交付之前,软件团队在正式的评审和所有的测试任务中发现了72个错误。那么,项目总的缺陷排除效率公式是DRE=E/ ( + ),最后的结果是____(写成小数点的形式)。

很赞哦!