精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 系统分析>>自开版到2000-04-10待整理精华>>Re: ☆请各位就软件产品质量如何度量发表(1)

主题:Re: ☆请各位就软件产品质量如何度量发表(1)
发信人: peteryeah()
整理人: (2000-04-20 14:51:04), 站内信件
软件度量的目标

软件开发正在经受一场危机。费用超支(特别是在维护阶段的花费太大)、生产
率低下、以及质量不高等问题正困扰着它。简言之,软件开发经常处于失控状态
。软件之所以失控是因为没有度量。Tom Demarco 曾经说过:"没有度量就不能控
制。"这种说法是好的,但不完全。并不能说为了获得控制必须进行度量。度量活
动必须有明确的目标或目的,而正是这决定着我们选择哪种属性和实体进行度量
。这个目标与软件开发、使用时所涉及的人的层次有关。

以下主要从管理者和软件工程师两种角度来考虑,为了达到各种目标所要进行的
度量工作。
● 对管理者而言: 
  1.需要度量软件开发过程中的不同阶段的费用。
    例如:度量开发整个软件系统的费用(包括从需求分析阶段到发布之后的
    维护阶段)。必须清楚这个费用以决定在保证一定的利润的情况下的价格。


  2.为了决定付给不同的开发小组的费用,需要度量不同小组职员的生产率。

  3.为了对不同的项目进行比较、对将来的项目进行预测、建立基线以及设定合
理的改进目标等,需要度量开发的产品的质量。 

  4.需要决定项目的度量目标。例如:应达到多大的测试覆盖率、系统最后的可
靠性应有多大等。

  5.为了找出是什么因素影响着费用和生产率,需要反复测试某一特定过程和资
源的属性。

  6.需要度量和估计不同软件工程方法和工具的效用,以便决定是否有必要把它
们引入到公司中。

● 对软件工程师而言: 
  1.需要制定过程度量以监视不断演进的系统。这包括设计过程中的改动、在不
同的回顾或测试阶段发现的错误等等。 

  2.需使用严格的度量的术语来指定对软件质量和性能的要求,以便使这些要求
是可测试的。例如:系统必须"可靠",可用如下的更具体的文字加以描述:"平均
错误时间必须大于15个CPU时间片。"  

  3.为了合格需要度量产品和过程的属性。例如:看一个产品是否合格要看产品
的一些可度量的特性如"β测试阶段少于20个错误。","每个模块的代码行不超过
100行。",和开发过程的一些属性如"单元测试必须覆盖90%以上的用例。"等。


  4.需要度量当前已存在的产品和过程的属性以便预测将来的产品。
  例如:
    (1).通过度量软件规格说明书的大小来预测目标系统的大小。
    (2).通过度量设计文档的结构特性来预测将来维护的"盲点"。
    (3).通过度量测试阶段的软件的可靠性来预测软件今后操作、运行的
        可靠性。


研究上面我们列出的度量的目标和活动我们可以发现:软件度量的目标可大致概
括为两类。

其一,我们使用度量来进行估计。这使得我们可以同步地跟踪一个特定的软件项
目。

其二,我们应用度量来预测项目的一些重要的特性。但是,值得指出的是我们不
能过分夸大这些预测。因为它们并不是完全正确的。软件度量得到也仅仅是预测
而已。有些人甚至认为只要使用合适的模型和工具,所获得的预测可以精确到只
需使用极少的其他度量(甚至根本就不用使用度量)。事实上,这种期望是不现
实的。


--
.--------------------------------------------------. 
|    明 我 责 任            ■                   ■ | 
|    爱 我 中 华            ■==ooO=========Ooo==■ | 
|    兴 我  IT              ■   \\  (o o)  //   ■ | 
`-------------------------------------(_)----------' 

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 61.129.18.40]

[关闭][返回]