产品度量是用来度量一个软件系统内在属性的预言者度量,产品量度的例子包括:
系统大小
代码行数
每个对象类的方法数
容易度量的软件特性如规模大小和环路复杂性,与易懂性以及可维护性等质量属性之间没有一个清晰而又一致的关系。
产品度量分类:
1动态量度,通过对执行中的程序度量所收集到的,在系统测试期间或系统投入使用后可以手机到这些量度。
2静态量度,通过对系统各种变现形式度量所收集到的,静态量度的例子有:代码多少和已使用标识符的平均长度。
这些量度类型与不同的质量属性有关。
动态量度与软件质量属性的关系通常较为密切。度量特定函数的执行时间和评估系统的启动时间相对比较容易,它们与系统的效率有直接的关系。
静态量度与质量属性的关系是间接的。
我们还没有足够的证据来弄清楚面向对象量度是如何与外部软件质量关联的。
继承树的深度:代表在继承树中的具体成熟,子类继承超类的属性和操作,继承树越深,设计就越复杂。很多对象类必须理解后,才能弄清楚树中叶子节点的对象类含义。
软件组件分析: 质量控制过程的一部分。
对系统的每一个组件都使用一系列量度单独分析,对不同组件比较得出的不同量度值,有时还要与以前的项目中收集的历史度量数据进行比较。
对异常的度量,可能表示这些组件的质量存在问题。
组件度量主要有几个关键阶段:
1选择要做的度量
2选择要评估的组件
3度量组件特性
4识别异常度量
5分析异常组件
应该将手机的数据作为机构的资源保留,即使在特定的项目中并没有使用这些数据,也应保留所有项目的历史记录。一旦一个非常大的度量数据库建立起来,就可以进行跨项目的软件质量比较,并确认内部组件属性与质量特性的关系。
在收集有关软件和软件过程的量化数据时,必须分析这些数据已了解它们的真正含义,曲解这些数据就很容易得出错误的结论,不能仅仅只是了解数据本身,还需要同时考虑收集数据的上下文环境。
提出变更需求的原因:
1软件不能 做客户想让它 做的事情,因此客户通过请求变更来川大他们所要求的的功能。
2软件非常好,可以被普遍而又频繁地使用。有许多软件客户创造性地相处软件可以完成一些新的功能,因而也可能产生变更请求。
因此,如果客户更多地参与软件开发过程也许会减少客户不满意地方,从而减少变更请求。
过程变更可能使许多新的客户更愿意参与产品的开发过程。
要分析变更请求数据,就必须知道是谁提出变更请求,他们如何使用该软件,以及为什么会提出该请求,我们还要知道一些外部因素,如更改变更请求的程序、市场变化等,是否会对变更请求产生影响。
理解变更影响是困难的,解决这个问题的科学方法是减少那些会影响度量的因素,然而,要度量的过程和产品不能孤立于它们的环境而存在,商业环境是不断变化的,而环境的变化可能使数据的对照失去意义。